feat: advanced prompt (#1330)

Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: Gillian97 <jinling.sunshine@gmail.com>
This commit is contained in:
zxhlyh
2023-10-12 23:14:28 +08:00
committed by GitHub
parent 42a5b3ec17
commit 5b9858a8a3
131 changed files with 5944 additions and 451 deletions

View File

@@ -1,12 +1,29 @@
import { createContext } from 'use-context-selector'
import type { CitationConfig, CompletionParams, Inputs, ModelConfig, MoreLikeThisConfig, PromptConfig, SpeechToTextConfig, SuggestedQuestionsAfterAnswerConfig } from '@/models/debug'
import { PromptMode } from '@/models/debug'
import type { BlockStatus, ChatPromptConfig, CitationConfig, CompletionParams, CompletionPromptConfig, ConversationHistoriesRole, DatasetConfigs, Inputs, ModelConfig, MoreLikeThisConfig, PromptConfig, PromptItem, SpeechToTextConfig, SuggestedQuestionsAfterAnswerConfig } from '@/models/debug'
import type { DataSet } from '@/models/datasets'
import { ModelModeType } from '@/types/app'
import { DEFAULT_CHAT_PROMPT_CONFIG, DEFAULT_COMPLETION_PROMPT_CONFIG } from '@/config'
type IDebugConfiguration = {
appId: string
hasSetAPIKEY: boolean
isTrailFinished: boolean
mode: string
modelModeType: ModelModeType
promptMode: PromptMode
setPromptMode: (promptMode: PromptMode) => void
isAdvancedMode: boolean
canReturnToSimpleMode: boolean
setCanReturnToSimpleMode: (canReturnToSimpleMode: boolean) => void
chatPromptConfig: ChatPromptConfig
completionPromptConfig: CompletionPromptConfig
currentAdvancedPrompt: PromptItem | PromptItem[]
setCurrentAdvancedPrompt: (prompt: PromptItem | PromptItem[], isUserChanged?: boolean) => void
showHistoryModal: () => void
conversationHistoriesRole: ConversationHistoriesRole
setConversationHistoriesRole: (conversationHistoriesRole: ConversationHistoriesRole) => void
hasSetBlockStatus: BlockStatus
conversationId: string | null // after first chat send
setConversationId: (conversationId: string | null) => void
introduction: string
@@ -37,6 +54,10 @@ type IDebugConfiguration = {
setModelConfig: (modelConfig: ModelConfig) => void
dataSets: DataSet[]
setDataSets: (dataSet: DataSet[]) => void
showSelectDataSet: () => void
// dataset config
datasetConfigs: DatasetConfigs
setDatasetConfigs: (config: DatasetConfigs) => void
hasSetContextVar: boolean
}
@@ -45,6 +66,27 @@ const DebugConfigurationContext = createContext<IDebugConfiguration>({
hasSetAPIKEY: false,
isTrailFinished: false,
mode: '',
modelModeType: ModelModeType.chat,
promptMode: PromptMode.simple,
setPromptMode: () => { },
isAdvancedMode: false,
canReturnToSimpleMode: false,
setCanReturnToSimpleMode: () => { },
chatPromptConfig: DEFAULT_CHAT_PROMPT_CONFIG,
completionPromptConfig: DEFAULT_COMPLETION_PROMPT_CONFIG,
currentAdvancedPrompt: [],
showHistoryModal: () => { },
conversationHistoriesRole: {
user_prefix: 'user',
assistant_prefix: 'assistant',
},
setConversationHistoriesRole: () => { },
setCurrentAdvancedPrompt: () => { },
hasSetBlockStatus: {
context: false,
history: false,
query: false,
},
conversationId: '',
setConversationId: () => { },
introduction: '',
@@ -89,6 +131,7 @@ const DebugConfigurationContext = createContext<IDebugConfiguration>({
modelConfig: {
provider: 'OPENAI', // 'OPENAI'
model_id: 'gpt-3.5-turbo', // 'gpt-3.5-turbo'
mode: ModelModeType.unset,
configs: {
prompt_template: '',
prompt_variables: [],
@@ -102,7 +145,16 @@ const DebugConfigurationContext = createContext<IDebugConfiguration>({
},
setModelConfig: () => { },
dataSets: [],
showSelectDataSet: () => { },
setDataSets: () => { },
datasetConfigs: {
top_k: 2,
score_threshold: {
enable: false,
value: 0.7,
},
},
setDatasetConfigs: () => {},
hasSetContextVar: false,
})