| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 | 
							- import type { AgentStrategy, ModelModeType, RETRIEVE_TYPE, ToolItem, TtsAutoPlay } from '@/types/app'
 
- import type {
 
-   RerankingModeEnum,
 
- } from '@/models/datasets'
 
- 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 // "string" | "number" | "select",
 
-   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[]
 
- }
 
- // frontend use. Not the same as backend
 
- export type ModelConfig = {
 
-   provider: string // LLM Provider: for example "OPENAI"
 
-   model_id: string
 
-   mode: ModelModeType
 
-   configs: PromptConfig
 
-   opening_statement: string | null
 
-   more_like_this: MoreLikeThisConfig | null
 
-   suggested_questions_after_answer: SuggestedQuestionsAfterAnswerConfig | null
 
-   speech_to_text: SpeechToTextConfig | null
 
-   text_to_speech: TextToSpeechConfig | null
 
-   retriever_resource: RetrieverResourceConfig | null
 
-   sensitive_word_avoidance: ModerationConfig | 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'
 
- }
 
- // Log session list
 
- export type LogSessionListQuery = {
 
-   keyword?: string
 
-   start?: string // format datetime(YYYY-mm-dd HH:ii)
 
-   end?: string // format datetime(YYYY-mm-dd HH:ii)
 
-   page: number
 
-   limit: number // default 20. 1-100
 
- }
 
- export type LogSessionListResponse = {
 
-   data: {
 
-     id: string
 
-     conversation_id: string
 
-     query: string // user's query question
 
-     message: string // prompt send to LLM
 
-     answer: string
 
-     creat_at: string
 
-   }[]
 
-   total: number
 
-   page: number
 
- }
 
- // log session detail and debug
 
- export type LogSessionDetailResponse = {
 
-   id: string
 
-   cnversation_id: string
 
-   model_provider: string
 
-   query: string
 
-   inputs: Record<string, string | number | object>[]
 
-   message: string
 
-   message_tokens: number // number of tokens in message
 
-   answer: string
 
-   answer_tokens: number // number of tokens in answer
 
-   provider_response_latency: number // used time in ms
 
-   from_source: 'api' | 'log'
 
- }
 
- export type SavedMessage = {
 
-   id: string
 
-   answer: string
 
- }
 
 
  |