| | 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 |
| | 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 |
| | setQuery: (query: string) => void |
| | |
| | completionParams: FormValue |
| | setCompletionParams: (completionParams: FormValue) => void |
| | |
| | modelConfig: ModelConfig |
| | setModelConfig: (modelConfig: ModelConfig) => void |
| | dataSets: DataSet[] |
| | setDataSets: (dataSet: DataSet[]) => void |
| | showSelectDataSet: () => void |
| | |
| | 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, |
| | top_p: 1, |
| | presence_penalty: 1, |
| | frequency_penalty: 1, |
| | }, |
| | setCompletionParams: () => { }, |
| | modelConfig: { |
| | provider: 'OPENAI', |
| | model_id: '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 |
| |
|