123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398 |
- 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'
- 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 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: {
-
- provider: string
-
- name: string
- mode: ModelModeType
-
- completion_params: {
-
- max_tokens: number
-
- temperature: number
-
- top_p: number
-
- echo: boolean
-
- stop: string[]
-
- presence_penalty: number
-
- frequency_penalty: number
- }
- }
- dataset_configs: DatasetConfigs
- file_upload?: {
- image: VisionSettings
- }
- files?: VisionFile[]
- created_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: string
- icon_background: string
- show_workflow_steps: boolean
- }
- export type App = {
-
- id: string
-
- name: string
-
- description: string
-
- icon: string
-
- icon_background: string
-
- 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 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
- }
|