Spaces:
Build error
Build error
import { createContext, useContext } from 'use-context-selector' | |
import { PromptMode } from '@/models/debug' | |
import type { | |
AnnotationReplyConfig, | |
BlockStatus, | |
ChatPromptConfig, | |
CitationConfig, | |
CompletionPromptConfig, | |
ConversationHistoriesRole, | |
DatasetConfigs, | |
Inputs, | |
ModelConfig, | |
ModerationConfig, | |
MoreLikeThisConfig, | |
PromptConfig, | |
PromptItem, | |
SpeechToTextConfig, | |
SuggestedQuestionsAfterAnswerConfig, | |
TextToSpeechConfig, | |
} from '@/models/debug' | |
import type { ExternalDataTool } from '@/models/common' | |
import type { DataSet } from '@/models/datasets' | |
import type { VisionSettings } from '@/types/app' | |
import { ModelModeType, RETRIEVE_TYPE, Resolution, TransferMethod } from '@/types/app' | |
import { ANNOTATION_DEFAULT, DEFAULT_AGENT_SETTING, DEFAULT_CHAT_PROMPT_CONFIG, DEFAULT_COMPLETION_PROMPT_CONFIG } from '@/config' | |
import type { FormValue } from '@/app/components/header/account-setting/model-provider-page/declarations' | |
import type { Collection } from '@/app/components/tools/types' | |
type IDebugConfiguration = { | |
appId: string | |
isAPIKeySet: boolean | |
isTrailFinished: boolean | |
mode: string | |
modelModeType: ModelModeType | |
promptMode: PromptMode | |
setPromptMode: (promptMode: PromptMode) => void | |
isAdvancedMode: boolean | |
isAgent: boolean | |
isFunctionCall: boolean | |
isOpenAI: boolean | |
collectionList: Collection[] | |
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 | |
setIntroduction: (introduction: string) => void | |
suggestedQuestions: string[] | |
setSuggestedQuestions: (questions: string[]) => void | |
controlClearChatMessage: number | |
setControlClearChatMessage: (controlClearChatMessage: number) => void | |
prevPromptConfig: PromptConfig | |
setPrevPromptConfig: (prevPromptConfig: PromptConfig) => void | |
moreLikeThisConfig: MoreLikeThisConfig | |
setMoreLikeThisConfig: (moreLikeThisConfig: MoreLikeThisConfig) => void | |
suggestedQuestionsAfterAnswerConfig: SuggestedQuestionsAfterAnswerConfig | |
setSuggestedQuestionsAfterAnswerConfig: (suggestedQuestionsAfterAnswerConfig: SuggestedQuestionsAfterAnswerConfig) => void | |
speechToTextConfig: SpeechToTextConfig | |
setSpeechToTextConfig: (speechToTextConfig: SpeechToTextConfig) => void | |
textToSpeechConfig: TextToSpeechConfig | |
setTextToSpeechConfig: (textToSpeechConfig: TextToSpeechConfig) => void | |
citationConfig: CitationConfig | |
setCitationConfig: (citationConfig: CitationConfig) => void | |
annotationConfig: AnnotationReplyConfig | |
setAnnotationConfig: (annotationConfig: AnnotationReplyConfig) => void | |
moderationConfig: ModerationConfig | |
setModerationConfig: (moderationConfig: ModerationConfig) => void | |
externalDataToolsConfig: ExternalDataTool[] | |
setExternalDataToolsConfig: (externalDataTools: ExternalDataTool[]) => void | |
formattingChanged: boolean | |
setFormattingChanged: (formattingChanged: boolean) => void | |
inputs: Inputs | |
setInputs: (inputs: Inputs) => void | |
query: string // user question | |
setQuery: (query: string) => void | |
// Belows are draft infos | |
completionParams: FormValue | |
setCompletionParams: (completionParams: FormValue) => void | |
// model_config | |
modelConfig: ModelConfig | |
setModelConfig: (modelConfig: ModelConfig) => void | |
dataSets: DataSet[] | |
setDataSets: (dataSet: DataSet[]) => void | |
showSelectDataSet: () => void | |
// dataset config | |
datasetConfigs: DatasetConfigs | |
setDatasetConfigs: (config: DatasetConfigs) => void | |
hasSetContextVar: boolean | |
isShowVisionConfig: boolean | |
visionConfig: VisionSettings | |
setVisionConfig: (visionConfig: VisionSettings, noNotice?: boolean) => void | |
rerankSettingModalOpen: boolean | |
setRerankSettingModalOpen: (rerankSettingModalOpen: boolean) => void | |
} | |
const DebugConfigurationContext = createContext<IDebugConfiguration>({ | |
appId: '', | |
isAPIKeySet: false, | |
isTrailFinished: false, | |
mode: '', | |
modelModeType: ModelModeType.chat, | |
promptMode: PromptMode.simple, | |
setPromptMode: () => { }, | |
isAdvancedMode: false, | |
isAgent: false, | |
isFunctionCall: false, | |
isOpenAI: false, | |
collectionList: [], | |
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: '', | |
setIntroduction: () => { }, | |
suggestedQuestions: [], | |
setSuggestedQuestions: () => { }, | |
controlClearChatMessage: 0, | |
setControlClearChatMessage: () => { }, | |
prevPromptConfig: { | |
prompt_template: '', | |
prompt_variables: [], | |
}, | |
setPrevPromptConfig: () => { }, | |
moreLikeThisConfig: { | |
enabled: false, | |
}, | |
setMoreLikeThisConfig: () => { }, | |
suggestedQuestionsAfterAnswerConfig: { | |
enabled: false, | |
}, | |
setSuggestedQuestionsAfterAnswerConfig: () => { }, | |
speechToTextConfig: { | |
enabled: false, | |
}, | |
setSpeechToTextConfig: () => { }, | |
textToSpeechConfig: { | |
enabled: false, | |
voice: '', | |
language: '', | |
}, | |
setTextToSpeechConfig: () => { }, | |
citationConfig: { | |
enabled: false, | |
}, | |
setCitationConfig: () => { }, | |
moderationConfig: { | |
enabled: false, | |
}, | |
annotationConfig: { | |
id: '', | |
enabled: false, | |
score_threshold: ANNOTATION_DEFAULT.score_threshold, | |
embedding_model: { | |
embedding_model_name: '', | |
embedding_provider_name: '', | |
}, | |
}, | |
setAnnotationConfig: () => { }, | |
setModerationConfig: () => { }, | |
externalDataToolsConfig: [], | |
setExternalDataToolsConfig: () => { }, | |
formattingChanged: false, | |
setFormattingChanged: () => { }, | |
inputs: {}, | |
setInputs: () => { }, | |
query: '', | |
setQuery: () => { }, | |
completionParams: { | |
max_tokens: 16, | |
temperature: 1, // 0-2 | |
top_p: 1, | |
presence_penalty: 1, // -2-2 | |
frequency_penalty: 1, // -2-2 | |
}, | |
setCompletionParams: () => { }, | |
modelConfig: { | |
provider: 'OPENAI', // 'OPENAI' | |
model_id: 'gpt-3.5-turbo', // 'gpt-3.5-turbo' | |
mode: ModelModeType.unset, | |
configs: { | |
prompt_template: '', | |
prompt_variables: [], | |
}, | |
more_like_this: null, | |
opening_statement: '', | |
suggested_questions: [], | |
sensitive_word_avoidance: null, | |
speech_to_text: null, | |
text_to_speech: null, | |
file_upload: null, | |
suggested_questions_after_answer: null, | |
retriever_resource: null, | |
annotation_reply: null, | |
dataSets: [], | |
agentConfig: DEFAULT_AGENT_SETTING, | |
}, | |
setModelConfig: () => { }, | |
dataSets: [], | |
showSelectDataSet: () => { }, | |
setDataSets: () => { }, | |
datasetConfigs: { | |
retrieval_model: RETRIEVE_TYPE.multiWay, | |
reranking_model: { | |
reranking_provider_name: '', | |
reranking_model_name: '', | |
}, | |
top_k: 2, | |
score_threshold_enabled: false, | |
score_threshold: 0.7, | |
datasets: { | |
datasets: [], | |
}, | |
}, | |
setDatasetConfigs: () => { }, | |
hasSetContextVar: false, | |
isShowVisionConfig: false, | |
visionConfig: { | |
enabled: false, | |
number_limits: 2, | |
detail: Resolution.low, | |
transfer_methods: [TransferMethod.remote_url], | |
}, | |
setVisionConfig: () => { }, | |
rerankSettingModalOpen: false, | |
setRerankSettingModalOpen: () => { }, | |
}) | |
export const useDebugConfigurationContext = () => useContext(DebugConfigurationContext) | |
export default DebugConfigurationContext | |