123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- export type FormValue = Record<string, any>
- export type TypeWithI18N<T = string> = {
- en_US: T
- zh_Hans: T
- [key: string]: T
- }
- export enum FormTypeEnum {
- textInput = 'text-input',
- textNumber = 'number-input',
- secretInput = 'secret-input',
- select = 'select',
- radio = 'radio',
- boolean = 'boolean',
- files = 'files',
- file = 'file',
- }
- export type FormOption = {
- label: TypeWithI18N
- value: string
- show_on: FormShowOnObject[]
- }
- export enum ModelTypeEnum {
- textGeneration = 'llm',
- textEmbedding = 'text-embedding',
- rerank = 'rerank',
- speech2text = 'speech2text',
- moderation = 'moderation',
- tts = 'tts',
- }
- export const MODEL_TYPE_TEXT = {
- [ModelTypeEnum.textGeneration]: 'LLM',
- [ModelTypeEnum.textEmbedding]: 'Text Embedding',
- [ModelTypeEnum.rerank]: 'Rerank',
- [ModelTypeEnum.speech2text]: 'Speech2text',
- [ModelTypeEnum.moderation]: 'Moderation',
- [ModelTypeEnum.tts]: 'TTS',
- }
- export enum ConfigurationMethodEnum {
- predefinedModel = 'predefined-model',
- customizableModel = 'customizable-model',
- fetchFromRemote = 'fetch-from-remote',
- }
- export enum ModelFeatureEnum {
- toolCall = 'tool-call',
- multiToolCall = 'multi-tool-call',
- agentThought = 'agent-thought',
- vision = 'vision',
- video = 'video',
- document = 'document',
- audio = 'audio',
- }
- export enum ModelFeatureTextEnum {
- toolCall = 'Tool Call',
- multiToolCall = 'Multi Tool Call',
- agentThought = 'Agent Thought',
- vision = 'Vision',
- video = 'Video',
- document = 'Document',
- audio = 'Audio',
- }
- export enum ModelStatusEnum {
- active = 'active',
- noConfigure = 'no-configure',
- quotaExceeded = 'quota-exceeded',
- noPermission = 'no-permission',
- disabled = 'disabled',
- }
- export const MODEL_STATUS_TEXT: { [k: string]: TypeWithI18N } = {
- 'no-configure': {
- en_US: 'No Configure',
- zh_Hans: '未配置凭据',
- },
- 'quota-exceeded': {
- en_US: 'Quota Exceeded',
- zh_Hans: '额度不足',
- },
- 'no-permission': {
- en_US: 'No Permission',
- zh_Hans: '无使用权限',
- },
- }
- export enum CustomConfigurationStatusEnum {
- active = 'active',
- noConfigure = 'no-configure',
- }
- export type FormShowOnObject = {
- variable: string
- value: string
- }
- export type CredentialFormSchemaBase = {
- variable: string
- label: TypeWithI18N
- type: FormTypeEnum
- required: boolean
- default?: string
- tooltip?: TypeWithI18N
- show_on: FormShowOnObject[]
- url?: string
- }
- export type CredentialFormSchemaTextInput = CredentialFormSchemaBase & { max_length?: number; placeholder?: TypeWithI18N }
- export type CredentialFormSchemaNumberInput = CredentialFormSchemaBase & { min?: number; max?: number; placeholder?: TypeWithI18N }
- export type CredentialFormSchemaSelect = CredentialFormSchemaBase & { options: FormOption[]; placeholder?: TypeWithI18N }
- export type CredentialFormSchemaRadio = CredentialFormSchemaBase & { options: FormOption[] }
- export type CredentialFormSchemaSecretInput = CredentialFormSchemaBase & { placeholder?: TypeWithI18N }
- export type CredentialFormSchema = CredentialFormSchemaTextInput | CredentialFormSchemaSelect | CredentialFormSchemaRadio | CredentialFormSchemaSecretInput
- export type ModelItem = {
- model: string
- label: TypeWithI18N
- model_type: ModelTypeEnum
- features?: ModelFeatureEnum[]
- fetch_from: ConfigurationMethodEnum
- status: ModelStatusEnum
- model_properties: Record<string, string | number>
- load_balancing_enabled: boolean
- deprecated?: boolean
- }
- export enum PreferredProviderTypeEnum {
- system = 'system',
- custom = 'custom',
- }
- export enum CurrentSystemQuotaTypeEnum {
- trial = 'trial',
- free = 'free',
- paid = 'paid',
- }
- export enum QuotaUnitEnum {
- times = 'times',
- tokens = 'tokens',
- credits = 'credits',
- }
- export type QuotaConfiguration = {
- quota_type: CurrentSystemQuotaTypeEnum
- quota_unit: QuotaUnitEnum
- quota_limit: number
- quota_used: number
- last_used: number
- is_valid: boolean
- }
- export type ModelProvider = {
- provider: string
- label: TypeWithI18N
- description?: TypeWithI18N
- help: {
- title: TypeWithI18N
- url: TypeWithI18N
- }
- icon_small: TypeWithI18N
- icon_large: TypeWithI18N
- background?: string
- supported_model_types: ModelTypeEnum[]
- configurate_methods: ConfigurationMethodEnum[]
- provider_credential_schema: {
- credential_form_schemas: CredentialFormSchema[]
- }
- model_credential_schema: {
- model: {
- label: TypeWithI18N
- placeholder: TypeWithI18N
- }
- credential_form_schemas: CredentialFormSchema[]
- }
- preferred_provider_type: PreferredProviderTypeEnum
- custom_configuration: {
- status: CustomConfigurationStatusEnum
- }
- system_configuration: {
- enabled: boolean
- current_quota_type: CurrentSystemQuotaTypeEnum
- quota_configurations: QuotaConfiguration[]
- }
- }
- export type Model = {
- provider: string
- icon_large: TypeWithI18N
- icon_small: TypeWithI18N
- label: TypeWithI18N
- models: ModelItem[]
- status: ModelStatusEnum
- }
- export type DefaultModelResponse = {
- model: string
- model_type: ModelTypeEnum
- provider: {
- provider: string
- icon_large: TypeWithI18N
- icon_small: TypeWithI18N
- }
- }
- export type DefaultModel = {
- provider: string
- model: string
- }
- export type CustomConfigurationModelFixedFields = {
- __model_name: string
- __model_type: ModelTypeEnum
- }
- export type ModelParameterRule = {
- default?: number | string | boolean | string[]
- help?: TypeWithI18N
- label: TypeWithI18N
- min?: number
- max?: number
- name: string
- precision?: number
- required: false
- type: string
- use_template?: string
- options?: string[]
- tagPlaceholder?: TypeWithI18N
- }
- export type ModelLoadBalancingConfigEntry = {
- /** model balancing config entry id */
- id?: string
- /** is config entry enabled */
- enabled?: boolean
- /** config entry name */
- name: string
- /** model balancing credential */
- credentials: Record<string, string | undefined | boolean>
- /** is config entry currently removed from Round-robin queue */
- in_cooldown?: boolean
- /** cooldown time (in seconds) */
- ttl?: number
- }
- export type ModelLoadBalancingConfig = {
- enabled: boolean
- configs: ModelLoadBalancingConfigEntry[]
- }
|