Files
FastGPT/docSite/content/zh-cn/docs/development/modelConfig/ai-proxy.md
Archer 3e3f2165db feat: prompt call tool support reason;perf: ai proxy doc (#3982)
* update schema

* perf: ai proxy doc

* feat: prompt call tool support reason
2025-03-06 18:28:05 +08:00

4.6 KiB
Raw Blame History

title, description, icon, draft, toc, weight
title description icon draft toc weight
通过 AI Proxy 接入模型 通过 AI Proxy 接入模型 api false true 744

FastGPT 4.8.23 版本开始,引入 AI Proxy 来进一步方便模型的配置。

AI Proxy 与 One API 类似,也是作为一个 OpenAI 接口管理 & 分发系统,可以通过标准的 OpenAI API 格式访问所有的大模型,开箱即用。

部署

Docker 版本

docker-compose.yml 文件已加入了 AI Proxy 配置,可直接使用。点击查看最新的 yml 配置

从旧版升级的用户,可以复制 yml 里ai proxy 的配置,加入到旧的 yml 文件中。

运行原理

AI proxy 核心模块:

  1. 渠道管理:管理各家模型提供商的 API Key 和可用模型列表。
  2. 模型调用:根据请求的模型,选中对应的渠道;根据渠道的 API 格式,构造请求体,发送请求;格式化响应体成标准格式返回。
  3. 调用日志:详细记录模型调用的日志,并在错误时候可以记录其入参和报错信息,方便排查。

运行流程:

aiproxy12

在 FastGPT 中使用

AI proxy 相关功能,可以在账号-模型提供商页面找到。

1. 创建渠道

模型提供商的配置页面,点击模型渠道,进入渠道配置页面

aiproxy1

点击右上角的“新增渠道”,即可进入渠道配置页面

aiproxy2

以阿里云的模型为例,进行如下配置

aiproxy3

  1. 渠道名:展示在外部的渠道名称,仅作标识;
  2. 厂商:模型对应的厂商,不同厂商对应不同的默认地址和 API 密钥格式;
  3. 模型:当前渠道具体可以使用的模型,系统内置了主流的一些模型,如果下拉框中没有想要的选项,可以点击“新增模型”,增加自定义模型;
  4. 模型映射:将 FastGPT 请求的模型,映射到具体提供的模型上。例如:
{
    "gpt-4o-test": "gpt-4o",
}

FatGPT 中的模型为 gpt-4o-test,向 AI Proxy 发起请求时也是 gpt-4o-test。AI proxy 在向上游发送请求时,实际的modelgpt-4o

  1. 代理地址:具体请求的地址,系统给每个主流渠道配置了默认的地址,如果无需改动则不用填。
  2. API 密钥:从模型厂商处获取的 API 凭证。注意部分厂商需要提供多个密钥组合,可以根据提示进行输入。

最后点击“新增”,就能在“模型渠道”下看到刚刚配置的渠道

aiproxy4

2. 渠道测试

然后可以对渠道进行测试,确保配置的模型有效

aiproxy5

点击“模型测试”,可以看到配置的模型列表,点击“开始测试”

aiproxy6

等待模型测试完成后,会输出每个模型的测试结果以及请求时长

aiproxy7

3. 启用模型

最后在模型配置中,可以选择启用对应的模型,这样就能在平台中使用了,更多模型配置可以参考模型配置

aiproxy8

其他功能介绍

优先级

范围1100。数值越大越容易被优先选中。

aiproxy9

启用/禁用

在渠道右侧的控制菜单中,还可以控制渠道的启用或禁用,被禁用的渠道将无法再提供模型服务

aiproxy10

调用日志

调用日志 页面,会展示发送到模型处的请求记录,包括具体的输入输出 tokens、请求时间、请求耗时、请求地址等等。错误的请求则会详细的入参和错误信息方便排查但仅会保留 1 小时(环境变量里可配置)。

aiproxy11

从 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 密钥,建议迁移后再进行手动检查。