教程官方文档3 分钟阅读教程/部署

讲解FastGPT插件系统中模型预设的新增与配置方法

模型预设维护在fastgpt-plugin仓库,用于向FastGPT提供内置模型供应商、模型列表、模型能力和默认参数。FastGPT读取这些静态预设后,用户才能在模型配置、AIProxy渠道和相关插件能力中选择对应模型。

模型预设基础说明

模型预设维护在fastgpt-plugin仓库,用于向FastGPT提供内置模型供应商、模型列表、模型能力和默认参数。FastGPT读取这些静态预设后,用户才能在模型配置、AIProxy渠道和相关插件能力中选择对应模型。本文基于1.0版本以上的插件系统代码结构,旧版modules/model/*路径已不再作为主要维护入口。核心静态数据目录为packages/infrastructure/src/static-data/models/,其中包含注册所有供应商的index.ts、维护供应商显示名与AIProxy渠道的model.ts、定义配置schema的type.ts,按供应商分类的provider/目录,以及AIProxy渠道头像目录channel-avatar/

给已有供应商新增模型的操作步骤

  1. 确认供应商已注册:若仅为已有供应商新增模型,无需修改packages/infrastructure/src/static-data/models/index.ts,只需确保供应商已被引入staticModelProviderConfigs数组。
  2. 修改供应商模型列表:进入对应供应商目录,例如packages/infrastructure/src/static-data/models/provider/OpenAI/index.ts,在list数组中新增模型。优先复制同供应商、同类型、同模型家族的相近项,再根据官方文档调整字段。以下是五类模型的最小配置示例:
import { ModelTypeEnum, type ProviderConfigType } from '../../type';
const ttsVoices = [{ label: '默认音色', value: 'default' }];
const models: ProviderConfigType = {
  provider: 'ExampleProvider',
  list: [
    { type: ModelTypeEnum.llm, model: 'example-chat', maxContext: 128000, maxTokens: 16384, quoteMaxToken: 120000, maxTemperature: 1, responseFormatList: ['text', 'json_schema'], vision: true, reasoning: false, toolChoice: true },
    { type: ModelTypeEnum.embedding, model: 'example-embedding', defaultToken: 512, maxToken: 8192, normalization: true },
    { type: ModelTypeEnum.rerank, model: 'example-rerank', maxToken: 8192 },
    { type: ModelTypeEnum.tts, model: 'example-tts', voices: ttsVoices },
    { type: ModelTypeEnum.stt, model: 'example-stt' }
  ]
};
export default models;

新增时需遵循常用字段规则,例如type需从ModelTypeEnum的可选值llmembeddingrerankttsstt中选择,maxContext为LLM最大上下文长度,maxTokens为LLM最大输出长度等。

模型预设维护注意事项

新增或修改模型前,需以官方模型文档、官方模型列表API或官方价格/模型页为依据,勿仅依赖第三方搜索结果或聚合站内容。需遵守以下规则:支持llm、embedding、rerank、tts、stt五类模型,按模型真实能力选择对应类型并补齐该类型schema要求的字段;仅当官方明确废弃、下线或不再推荐时,才可移除模型;开放目录类供应商需保留本地占位或用户自定义的模型;保持文件内原有排序风格,通常将更新或能力更强的模型放在前面。

来源:https://doc.fastgpt.cn/zh-CN/plugin/model-presets