document/content/docs/self-host/config/model/intro.mdx
import { Alert } from '@/components/docs/Alert'; import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
FastGPT 借助AI Proxy服务,可以连接到不同的模型提供商。同时AI Proxy还提供了负载均衡、模型日志、数据看板等能力,方便检测模型调用情况。
model字段的值,全局唯一。模型渠道,可以设置自定义请求地址和 Token。一般情况下不需要。(不推荐使用,不方便管理)可以 FastGPT 中账号-模型提供商页面中进行模型配置。
切换到模型渠道标签页。 注意,这里只能增加模型配置里有的模型,系统仅内置了主流的模型,如果需要增加其他模型,需要先在模型配置中增加。
点击右上角的“新增渠道”,即可进入渠道配置页面
以阿里百炼的模型为例,进行如下配置
{
"gpt-4o-test": "gpt-4o"
}
FatGPT 中的模型为 gpt-4o-test,向 AI Proxy 发起请求时也是 gpt-4o-test。AI proxy 在向上游发送请求时,实际的model为 gpt-4o。
BaseUrl,注意是否需要增加/v1最后点击“新增”,就能在“模型渠道”下看到刚刚配置的渠道
然后可以对渠道进行测试,确保配置的模型有效
点击“模型测试”,可以看到配置的模型列表,点击“开始测试”
等待模型测试完成后,会输出每个模型的测试结果以及请求时长
系统内置了目前主流厂商的模型,如果你不熟悉配置,直接点击启用即可。模型 ID是和模型渠道中的模型一致。
点击启用模型,即可使用。
| 启用模型 | 模型ID映射说明 |
|---|---|
FastGPT 页面上提供了每类模型的简单测试,可以初步检查模型是否正常工作,会实际按模板发送一个请求。
点击模型右侧的齿轮即可进行模型配置,不同类型模型的配置有区别。
如果系统内置的模型无法满足你的需求,你可以添加自定义模型。如果模型 ID与系统内置的模型 ID 重复,则会被认为是修改系统模型,而不是新增模型。
如果你觉得通过页面配置模型比较麻烦,你也可以通过配置文件来配置模型。或者希望快速将一个系统的配置,复制到另一个系统,也可以通过配置文件来实现。
{
"model": "模型 ID",
"metadata": {
"isCustom": true, // 是否为自定义模型
"isActive": true, // 是否启用
"provider": "OpenAI", // 模型提供商
"model": "text-embedding-3-small", // 模型ID
"name": "text-embedding-3-small", // 模型别名
"charsPointsPrice": 0, // n积分/1k token
"defaultToken": 512, // 默认文本分割时候的 token
"maxToken": 3000 // 最大 token
}
}
{
"model": "模型 ID",
"metadata": {
"isCustom": true, // 是否为自定义模型
"isActive": true, // 是否启用
"provider": "BAAI", // 模型提供商
"model": "bge-reranker-v2-m3", // 模型ID
"name": "ReRanker-Base", // 模型别名
"requestUrl": "", // 自定义请求地址
"requestAuth": "", // 自定义请求认证
"type": "rerank" // 模型类型
}
}
{
"model": "模型 ID",
"metadata": {
"isActive": true, // 是否启用
"isCustom": true, // 是否为自定义模型
"type": "tts", // 模型类型
"provider": "FishAudio", // 模型提供商
"model": "fishaudio/fish-speech-1.5", // 模型ID
"name": "fish-speech-1.5", // 模型别名
"voices": [
// 音色
{
"label": "fish-alex", // 音色名称
"value": "fishaudio/fish-speech-1.5:alex" // 音色ID
},
{
"label": "fish-anna", // 音色名称
"value": "fishaudio/fish-speech-1.5:anna" // 音色ID
}
],
"charsPointsPrice": 0 // n积分/1k token
}
}
{
"model": "whisper-1",
"metadata": {
"isActive": true, // 是否启用
"isCustom": true, // 是否为自定义模型
"provider": "OpenAI", // 模型提供商
"model": "whisper-1", // 模型ID
"name": "whisper-1", // 模型别名
"charsPointsPrice": 0, // n积分/1k token
"type": "stt" // 模型类型
}
}
范围1~100。数值越大,越容易被优先选中。
在渠道右侧的控制菜单中,还可以控制渠道的启用或禁用,被禁用的渠道将无法再提供模型服务
通过渠道调用的模型,可以在 调用日志 页面,会展示发送到模型处的请求记录,包括具体的输入输出 tokens、请求时间、请求耗时、请求地址等等。错误的请求,则会详细的入参和错误信息,方便排查,但仅会保留 1 小时(环境变量里可配置)。
如果填写了该值,则可以允许你绕过模型渠道,直接向自定义请求地址发起请求。需要填写完整的请求地址,例如:
自定义请求 Key,则是向自定义请求地址发起请求时候,携带请求头:Authorization: Bearer xxx 进行请求。
所有接口均遵循 OpenAI 提供的模型格式,可参考 OpenAI API 文档 进行配置。
由于 OpenAI 没有提供 ReRank 模型,遵循的是 Cohere 的格式。点击查看接口请求示例
你可以在FastGPT-plugin项目中modules/model/provider目录下,找对应模型提供商的配置文件,并追加模型配置。请自行全文检查,model字段,必须在所有模型中唯一。具体配置字段说明,参考模型配置字段说明
对于旧版使用 OneAPI 的用户,可以通过脚本将 OneAPI 里的渠道配置迁移到 AI Proxy。
可以从任意终端,发起 1 个 HTTP 请求。其中 {{host}} 替换成 AI Proxy 地址,{{admin_key}} 替换成 AI Proxy 中 ADMIN_KEY 的值。
Body 参数 dsn 为 OneAPI 的 mysql 连接串。
curl --location --request POST '{{host}}/api/channels/import/oneapi' \
--header 'Authorization: Bearer {{admin_key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"dsn": "mysql://root:s5mfkwst@tcp(dbconn.sealoshzh.site:33123)/mydb"
}'
执行成功的情况下会返回 "success": true
脚本目前不是完全准,仅是简单的做数据映射,主要是迁移代理地址、模型和API 密钥,建议迁移后再进行手动检查。