| | import type { AnnotationReplyConfig, ChatPromptConfig, CompletionPromptConfig, DatasetConfigs, PromptMode } from '@/models/debug' |
| | import type { CollectionType } from '@/app/components/tools/types' |
| | import type { LanguagesSupported } from '@/i18n/language' |
| | import type { Tag } from '@/app/components/base/tag-management/constant' |
| | import type { |
| | RerankingModeEnum, |
| | WeightedScoreEnum, |
| | } from '@/models/datasets' |
| | import type { UploadFileSetting } from '@/app/components/workflow/types' |
| |
|
| | export enum Theme { |
| | light = 'light', |
| | dark = 'dark', |
| | } |
| |
|
| | export enum ProviderType { |
| | openai = 'openai', |
| | anthropic = 'anthropic', |
| | azure_openai = 'azure_openai', |
| | replicate = 'replicate', |
| | huggingface_hub = 'huggingface_hub', |
| | minimax = 'minimax', |
| | tongyi = 'tongyi', |
| | spark = 'spark', |
| | } |
| |
|
| | export enum AppType { |
| | 'chat' = 'chat', |
| | 'completion' = 'completion', |
| | } |
| |
|
| | export enum ModelModeType { |
| | 'chat' = 'chat', |
| | 'completion' = 'completion', |
| | 'unset' = '', |
| | } |
| |
|
| | export enum RETRIEVE_TYPE { |
| | oneWay = 'single', |
| | multiWay = 'multiple', |
| | } |
| |
|
| | export enum RETRIEVE_METHOD { |
| | semantic = 'semantic_search', |
| | fullText = 'full_text_search', |
| | hybrid = 'hybrid_search', |
| | invertedIndex = 'invertedIndex', |
| | keywordSearch = 'keyword_search', |
| | } |
| |
|
| | export type VariableInput = { |
| | key: string |
| | name: string |
| | value: string |
| | } |
| |
|
| | |
| | |
| | |
| | export const AppModes = ['advanced-chat', 'agent-chat', 'chat', 'completion', 'workflow'] as const |
| | export type AppMode = typeof AppModes[number] |
| |
|
| | |
| | |
| | |
| | export const VariableTypes = ['string', 'number', 'select'] as const |
| | export type VariableType = typeof VariableTypes[number] |
| |
|
| | |
| | |
| | |
| | export type PromptVariable = { |
| | |
| | key: string |
| | |
| | name: string |
| | |
| | type: VariableType |
| | required: boolean |
| | |
| | options?: string[] |
| | max_length?: number |
| | } |
| |
|
| | export type TextTypeFormItem = { |
| | default: string |
| | label: string |
| | variable: string |
| | required: boolean |
| | max_length: number |
| | } |
| |
|
| | export type SelectTypeFormItem = { |
| | default: string |
| | label: string |
| | variable: string |
| | required: boolean |
| | options: string[] |
| | } |
| |
|
| | export type ParagraphTypeFormItem = { |
| | default: string |
| | label: string |
| | variable: string |
| | required: boolean |
| | } |
| | |
| | |
| | |
| | export type UserInputFormItem = { |
| | 'text-input': TextTypeFormItem |
| | } | { |
| | 'select': SelectTypeFormItem |
| | } | { |
| | 'paragraph': TextTypeFormItem |
| | } |
| |
|
| | export type AgentTool = { |
| | provider_id: string |
| | provider_type: CollectionType |
| | provider_name: string |
| | tool_name: string |
| | tool_label: string |
| | tool_parameters: Record<string, any> |
| | enabled: boolean |
| | isDeleted?: boolean |
| | notAuthor?: boolean |
| | } |
| |
|
| | export type ToolItem = { |
| | dataset: { |
| | enabled: boolean |
| | id: string |
| | } |
| | } | { |
| | 'sensitive-word-avoidance': { |
| | enabled: boolean |
| | words: string[] |
| | canned_response: string |
| | } |
| | } | AgentTool |
| |
|
| | export enum AgentStrategy { |
| | functionCall = 'function_call', |
| | react = 'react', |
| | } |
| |
|
| | export type CompletionParams = { |
| | |
| | max_tokens: number |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | temperature: number |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | top_p: number |
| | |
| | echo: boolean |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | stop: string[] |
| | |
| | |
| | |
| | |
| | presence_penalty: number |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | frequency_penalty: number |
| | } |
| | |
| | |
| | |
| | export type Model = { |
| | |
| | provider: string |
| | |
| | name: string |
| | mode: ModelModeType |
| | |
| | completion_params: CompletionParams |
| | } |
| |
|
| | export type ModelConfig = { |
| | opening_statement: string |
| | suggested_questions?: string[] |
| | pre_prompt: string |
| | prompt_type: PromptMode |
| | chat_prompt_config: ChatPromptConfig | {} |
| | completion_prompt_config: CompletionPromptConfig | {} |
| | user_input_form: UserInputFormItem[] |
| | dataset_query_variable?: string |
| | more_like_this: { |
| | enabled?: boolean |
| | } |
| | suggested_questions_after_answer: { |
| | enabled: boolean |
| | } |
| | speech_to_text: { |
| | enabled: boolean |
| | } |
| | text_to_speech: { |
| | enabled: boolean |
| | voice?: string |
| | language?: string |
| | autoPlay?: TtsAutoPlay |
| | } |
| | retriever_resource: { |
| | enabled: boolean |
| | } |
| | sensitive_word_avoidance: { |
| | enabled: boolean |
| | } |
| | annotation_reply?: AnnotationReplyConfig |
| | agent_mode: { |
| | enabled: boolean |
| | strategy?: AgentStrategy |
| | tools: ToolItem[] |
| | } |
| | model: Model |
| | dataset_configs: DatasetConfigs |
| | file_upload?: { |
| | image: VisionSettings |
| | } & UploadFileSetting |
| | files?: VisionFile[] |
| | created_at?: number |
| | updated_at?: number |
| | } |
| |
|
| | export type Language = typeof LanguagesSupported[number] |
| |
|
| | |
| | |
| | |
| | export type SiteConfig = { |
| | |
| | access_token: string |
| | |
| | title: string |
| | |
| | description: string |
| | |
| | |
| | |
| | chat_color_theme: string |
| | |
| | chat_color_theme_inverted: boolean |
| | |
| | author: string |
| | |
| | support_email: string |
| | |
| | |
| | |
| | |
| | default_language: Language |
| | |
| | customize_domain: string |
| | |
| | theme: string |
| | |
| | customize_token_strategy: 'must' | 'allow' | 'not_allow' |
| | |
| | prompt_public: boolean |
| | |
| | app_base_url: string |
| | |
| | copyright: string |
| | |
| | privacy_policy: string |
| | |
| | custom_disclaimer: string |
| |
|
| | icon_type: AppIconType | null |
| | icon: string |
| | icon_background: string | null |
| | icon_url: string | null |
| |
|
| | show_workflow_steps: boolean |
| | use_icon_as_answer_icon: boolean |
| | } |
| |
|
| | export type AppIconType = 'image' | 'emoji' |
| |
|
| | |
| | |
| | |
| | export type App = { |
| | |
| | id: string |
| | |
| | name: string |
| | |
| | description: string |
| |
|
| | |
| | |
| | |
| | |
| | icon_type: AppIconType | null |
| | |
| | icon: string |
| | |
| | icon_background: string | null |
| | |
| | icon_url: string | null |
| | |
| | use_icon_as_answer_icon: boolean |
| |
|
| | |
| | mode: AppMode |
| | |
| | enable_site: boolean |
| | |
| | enable_api: boolean |
| | |
| | api_rpm: number |
| | |
| | api_rph: number |
| | |
| | is_demo: boolean |
| | |
| | model_config: ModelConfig |
| | app_model_config: ModelConfig |
| | |
| | created_at: number |
| | |
| | site: SiteConfig |
| | |
| | api_base_url: string |
| | tags: Tag[] |
| | } |
| |
|
| | export type AppSSO = { |
| | enable_sso: boolean |
| | } |
| |
|
| | |
| | |
| | |
| | export type AppTemplate = { |
| | |
| | name: string |
| | |
| | description: string |
| | |
| | mode: AppMode |
| | |
| | model_config: ModelConfig |
| | } |
| |
|
| | export enum Resolution { |
| | low = 'low', |
| | high = 'high', |
| | } |
| |
|
| | export enum TransferMethod { |
| | all = 'all', |
| | local_file = 'local_file', |
| | remote_url = 'remote_url', |
| | } |
| |
|
| | export enum TtsAutoPlay { |
| | enabled = 'enabled', |
| | disabled = 'disabled', |
| | } |
| |
|
| | export const ALLOW_FILE_EXTENSIONS = ['png', 'jpg', 'jpeg', 'webp', 'gif'] |
| |
|
| | export type VisionSettings = { |
| | enabled: boolean |
| | number_limits: number |
| | detail: Resolution |
| | transfer_methods: TransferMethod[] |
| | image_file_size_limit?: number | string |
| | } |
| |
|
| | export type ImageFile = { |
| | type: TransferMethod |
| | _id: string |
| | fileId: string |
| | file?: File |
| | progress: number |
| | url: string |
| | base64Url?: string |
| | deleted?: boolean |
| | } |
| |
|
| | export type VisionFile = { |
| | id?: string |
| | type: string |
| | transfer_method: TransferMethod |
| | url: string |
| | upload_file_id: string |
| | belongs_to?: string |
| | } |
| |
|
| | export type RetrievalConfig = { |
| | search_method: RETRIEVE_METHOD |
| | reranking_enable: boolean |
| | reranking_model: { |
| | reranking_provider_name: string |
| | reranking_model_name: string |
| | } |
| | top_k: number |
| | score_threshold_enabled: boolean |
| | score_threshold: number |
| | reranking_mode?: RerankingModeEnum |
| | weights?: { |
| | weight_type: WeightedScoreEnum |
| | vector_setting: { |
| | vector_weight: number |
| | embedding_provider_name: string |
| | embedding_model_name: string |
| | } |
| | keyword_setting: { |
| | keyword_weight: number |
| | } |
| | } |
| | } |
| |
|