| import type { AgentStrategy, ModelModeType, RETRIEVE_TYPE, ToolItem, TtsAutoPlay } from '@/types/app' |
| import type { |
| RerankingModeEnum, |
| } from '@/models/datasets' |
| import type { FileUpload } from '@/app/components/base/features/types' |
| export type Inputs = Record<string, string | number | object> |
|
|
| export enum PromptMode { |
| simple = 'simple', |
| advanced = 'advanced', |
| } |
|
|
| export type PromptItem = { |
| role?: PromptRole |
| text: string |
| } |
|
|
| export type ChatPromptConfig = { |
| prompt: PromptItem[] |
| } |
|
|
| export type ConversationHistoriesRole = { |
| user_prefix: string |
| assistant_prefix: string |
| } |
| export type CompletionPromptConfig = { |
| prompt: PromptItem |
| conversation_histories_role: ConversationHistoriesRole |
| } |
|
|
| export type BlockStatus = { |
| context: boolean |
| history: boolean |
| query: boolean |
| } |
|
|
| export enum PromptRole { |
| system = 'system', |
| user = 'user', |
| assistant = 'assistant', |
| } |
|
|
| export type PromptVariable = { |
| key: string |
| name: string |
| type: string |
| default?: string | number |
| required?: boolean |
| options?: string[] |
| max_length?: number |
| is_context_var?: boolean |
| enabled?: boolean |
| config?: Record<string, any> |
| icon?: string |
| icon_background?: string |
| } |
|
|
| export type CompletionParams = { |
| max_tokens: number |
| temperature: number |
| top_p: number |
| presence_penalty: number |
| frequency_penalty: number |
| stop?: string[] |
| } |
|
|
| export type ModelId = 'gpt-3.5-turbo' | 'text-davinci-003' |
|
|
| export type PromptConfig = { |
| prompt_template: string |
| prompt_variables: PromptVariable[] |
| } |
|
|
| export type MoreLikeThisConfig = { |
| enabled: boolean |
| } |
|
|
| export type SuggestedQuestionsAfterAnswerConfig = MoreLikeThisConfig |
|
|
| export type SpeechToTextConfig = MoreLikeThisConfig |
|
|
| export type TextToSpeechConfig = { |
| enabled: boolean |
| voice?: string |
| language?: string |
| autoPlay?: TtsAutoPlay |
| } |
|
|
| export type CitationConfig = MoreLikeThisConfig |
|
|
| export type AnnotationReplyConfig = { |
| id: string |
| enabled: boolean |
| score_threshold: number |
| embedding_model: { |
| embedding_provider_name: string |
| embedding_model_name: string |
| } |
| } |
|
|
| export type ModerationContentConfig = { |
| enabled: boolean |
| preset_response?: string |
| } |
| export type ModerationConfig = MoreLikeThisConfig & { |
| type?: string |
| config?: { |
| keywords?: string |
| api_based_extension_id?: string |
| inputs_config?: ModerationContentConfig |
| outputs_config?: ModerationContentConfig |
| } & Partial<Record<string, any>> |
| } |
|
|
| export type RetrieverResourceConfig = MoreLikeThisConfig |
| export type AgentConfig = { |
| enabled: boolean |
| strategy: AgentStrategy |
| max_iteration: number |
| tools: ToolItem[] |
| } |
| |
| export type ModelConfig = { |
| provider: string |
| model_id: string |
| mode: ModelModeType |
| configs: PromptConfig |
| opening_statement: string | null |
| more_like_this: MoreLikeThisConfig | null |
| suggested_questions: string[] | null |
| suggested_questions_after_answer: SuggestedQuestionsAfterAnswerConfig | null |
| speech_to_text: SpeechToTextConfig | null |
| text_to_speech: TextToSpeechConfig | null |
| file_upload: FileUpload | null |
| retriever_resource: RetrieverResourceConfig | null |
| sensitive_word_avoidance: ModerationConfig | null |
| annotation_reply: AnnotationReplyConfig | null |
| dataSets: any[] |
| agentConfig: AgentConfig |
| } |
| export type DatasetConfigItem = { |
| enable: boolean |
| value: number |
| } |
|
|
| export type DatasetConfigs = { |
| retrieval_model: RETRIEVE_TYPE |
| reranking_model: { |
| reranking_provider_name: string |
| reranking_model_name: string |
| } |
| top_k: number |
| score_threshold_enabled: boolean |
| score_threshold: number | null | undefined |
| datasets: { |
| datasets: { |
| enabled: boolean |
| id: string |
| }[] |
| } |
| reranking_mode?: RerankingModeEnum |
| weights?: { |
| vector_setting: { |
| vector_weight: number |
| embedding_provider_name: string |
| embedding_model_name: string |
| } |
| keyword_setting: { |
| keyword_weight: number |
| } |
| } |
| reranking_enable?: boolean |
| } |
|
|
| export type DebugRequestBody = { |
| inputs: Inputs |
| query: string |
| completion_params: CompletionParams |
| model_config: ModelConfig |
| } |
|
|
| export type DebugResponse = { |
| id: string |
| answer: string |
| created_at: string |
| } |
|
|
| export type DebugResponseStream = { |
| id: string |
| data: string |
| created_at: string |
| } |
|
|
| export type FeedBackRequestBody = { |
| message_id: string |
| rating: 'like' | 'dislike' |
| content?: string |
| from_source: 'api' | 'log' |
| } |
|
|
| export type FeedBackResponse = { |
| message_id: string |
| rating: 'like' | 'dislike' |
| } |
|
|
| |
| export type LogSessionListQuery = { |
| keyword?: string |
| start?: string |
| end?: string |
| page: number |
| limit: number |
| } |
|
|
| export type LogSessionListResponse = { |
| data: { |
| id: string |
| conversation_id: string |
| query: string |
| message: string |
| answer: string |
| created_at: string |
| }[] |
| total: number |
| page: number |
| } |
|
|
| |
| export type LogSessionDetailResponse = { |
| id: string |
| conversation_id: string |
| model_provider: string |
| query: string |
| inputs: Record<string, string | number | object>[] |
| message: string |
| message_tokens: number |
| answer: string |
| answer_tokens: number |
| provider_response_latency: number |
| from_source: 'api' | 'log' |
| } |
|
|
| export type SavedMessage = { |
| id: string |
| answer: string |
| } |
|
|