This Documentation is Being Deprecated

This page is being phased out as part of our documentation reorganization.

Click this card to be redirected to the updated version with the most current information.

If you notice any discrepancies or areas needing improvement in the new documentation, please use the “Report an issue” button at the bottom of the page.

  • Model provider rules are based on the Provider entity.
  • Model rules are based on the AIModelEntity entity.

All entities below are based on Pydantic BaseModel and can be found in the entities module.

Provider

  • provider (string): Provider identifier, e.g., openai
  • label (object): Provider display name, i18n, supports en_US (English) and zh_Hans (Chinese)
    • zh_Hans (string) [optional]: Chinese label, defaults to en_US if not set
    • en_US (string): English label
  • description (object) [optional]: Provider description, i18n
    • zh_Hans (string) [optional]: Chinese description
    • en_US (string): English description
  • icon_small (string) [optional]: Provider small icon, stored in _assets directory
    • zh_Hans (string) [optional]: Chinese icon
    • en_US (string): English icon
  • icon_large (string) [optional]: Provider large icon, stored in _assets directory
    • zh_Hans (string) [optional]: Chinese icon
    • en_US (string): English icon
  • background (string) [optional]: Background color value, e.g., #FFFFFF, uses frontend default if empty
  • help (object) [optional]: Help information
    • title (object): Help title, i18n
      • zh_Hans (string) [optional]: Chinese title
      • en_US (string): English title
    • url (object): Help link, i18n
      • zh_Hans (string) [optional]: Chinese link
      • en_US (string): English link
  • supported_model_types (array[ModelType]): Supported model types
  • configurate_methods (array[ConfigurateMethod]): Configuration methods
  • provider_credential_schema ([ProviderCredentialSchema]): Provider credential specifications
  • model_credential_schema ([ModelCredentialSchema]): Model credential specifications

AIModelEntity

  • model (string): Model identifier, e.g., gpt-3.5-turbo
  • label (object) [optional]: Model display name, i18n
    • zh_Hans (string) [optional]: Chinese label
    • en_US (string): English label
  • model_type ([ModelType]): Model type
  • features (array[[ModelFeature]]) [optional]: List of supported features
  • model_properties (object): Model properties
    • mode ([LLMMode]): Mode (available for llm model type)
    • context_size (int): Context size (available for llm and text-embedding types)
    • max_chunks (int): Maximum number of chunks (available for text-embedding and moderation types)
    • file_upload_limit (int): Maximum file upload limit in MB (available for speech2text type)
    • supported_file_extensions (string): Supported file extensions, e.g., mp3,mp4 (available for speech2text type)
    • default_voice (string): Default voice, must be one of: alloy,echo,fable,onyx,nova,shimmer (available for tts type)
    • voices (list): Available voice list
    • mode (string): Voice model (available for tts type)
    • name (string): Voice model display name (available for tts type)
    • language (string): Voice model supported languages (available for tts type)
    • word_limit (int): Single conversion word limit, defaults to paragraph division (available for tts type)
    • audio_type (string): Supported audio file extensions, e.g., mp3,wav (available for tts type)
    • max_workers (int): Maximum concurrent tasks for text-to-audio conversion (available for tts type)
    • max_characters_per_chunk (int): Maximum characters per chunk (available for moderation type)
  • parameter_rules (array[ParameterRule]) [optional]: Model call parameter rules
  • pricing ([PriceConfig]) [optional]: Pricing information
  • deprecated (bool): Whether deprecated. If true, model won’t show in list but configured ones can still be used. Default: False

ModelType

  • llm: Text generation model
  • text-embedding: Text embedding model
  • rerank: Rerank model
  • speech2text: Speech to text
  • tts: Text to speech
  • moderation: Moderation

ConfigurateMethod

  • predefined-model: Predefined models Users only need to configure unified provider credentials to use predefined models under the provider.
  • customizable-model: Custom models Users need to add credential configurations for each model.
  • fetch-from-remote: Fetch from remote Similar to predefined-model configuration, only requires unified provider credentials, models are fetched from provider using credential information.

ModelFeature

  • agent-thought: Agent reasoning, generally models over 70B have chain-of-thought capability
  • vision: Visual capability, i.e., image understanding
  • tool-call: Tool calling
  • multi-tool-call: Multiple tool calling
  • stream-tool-call: Streaming tool calling

FetchFrom

  • predefined-model: Predefined models
  • fetch-from-remote: Remote models

LLMMode

  • completion: Text completion
  • chat: Conversation

ParameterRule

  • name (string): Actual parameter name for model calls
  • use_template (string) [optional]: Template usage Five preset variable content configuration templates:
    • temperature
    • top_p
    • frequency_penalty
    • presence_penalty
    • max_tokens Can directly set template variable name in use_template, will use default config from entities.defaults.PARAMETER_RULE_TEMPLATE
  • label (object) [optional]: Labels, i18n
    • zh_Hans (string) [optional]: Chinese label
    • en_US (string): English label
  • type (string) [optional]: Parameter type
    • int: Integer
    • float: Float
    • string: String
    • boolean: Boolean
  • help (string) [optional]: Help information
    • zh_Hans (string) [optional]: Chinese help info
    • en_US (string): English help info
  • required (bool): Whether required, default False
  • default (int/float/string/bool) [optional]: Default value
  • min (int/float) [optional]: Minimum value, only for numeric types
  • max (int/float) [optional]: Maximum value, only for numeric types
  • precision (int) [optional]: Precision, decimal places, only for numeric types
  • options (array[string]) [optional]: Dropdown options, only for string type

PriceConfig

  • input (float): Input price, i.e., Prompt price
  • output (float): Output price, i.e., Return content price
  • unit (float): Price unit, e.g., if priced per 1M tokens, unit token number is 0.000001
  • currency (string): Currency unit

ProviderCredentialSchema

  • credential_form_schemas (array[CredentialFormSchema]): Credential form specifications

ModelCredentialSchema

  • model (object): Model identifier, default variable name is ‘model’
  • label (object): Model form item display name
    • en_US (string): English
    • zh_Hans (string) [optional]: Chinese
  • placeholder (object): Model prompt content
    • en_US (string): English
    • zh_Hans (string) [optional]: Chinese
  • credential_form_schemas (array[CredentialFormSchema]): Credential form specifications

CredentialFormSchema

  • variable (string): Form item variable name
  • label (object): Form item label
    • en_US (string): English
    • zh_Hans (string) [optional]: Chinese
  • type ([FormType]): Form item type
  • required (bool): Whether required
  • default (string): Default value
  • options (array[FormOption]): Form item options for select or radio types
  • placeholder (object): Form item placeholder for text-input type
    • en_US (string): English
    • zh_Hans (string) [optional]: Chinese
  • max_length (int): Maximum input length for text-input type, 0 means no limit
  • show_on (array[FormShowOnObject]): Show when other form items meet conditions, always show if empty

FormType

  • text-input: Text input component
  • secret-input: Password input component
  • select: Single-select dropdown
  • radio: Radio component
  • switch: Switch component, only supports true and false

FormOption

  • label (object): Label
    • en_US (string): English
    • zh_Hans (string) [optional]: Chinese
  • value (string): Dropdown option value
  • show_on (array[FormShowOnObject]): Show when other form items meet conditions, always show if empty

FormShowOnObject

  • variable (string): Other form item variable name
  • value (string): Other form item variable value