|
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 |
|
} |
|
|