feat: prompt call tool support reason;perf: ai proxy doc (#3982)

* update schema

* perf: ai proxy doc

* feat: prompt call tool support reason
This commit is contained in:
Archer
2025-03-05 14:11:52 +08:00
committed by archer
parent e1aa068858
commit 3e3f2165db
23 changed files with 508 additions and 298 deletions

View File

@@ -30,7 +30,7 @@ weight: 707
### PgVector版本
非常轻量,适合数据量在 5000 万以下。
非常轻量,适合知识库索引量在 5000 万以下。
{{< table "table-hover table-striped-columns" >}}
| 环境 | 最低配置(单节点) | 推荐配置 |
@@ -149,18 +149,14 @@ curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/mai
{{< tab tabName="PgVector版本" >}}
{{< markdownify >}}
```
FE_DOMAIN=你的前端你访问地址,例如 http://192.168.0.1:3000;https://cloud.fastgpt.cn
```
无需操作
{{< /markdownify >}}
{{< /tab >}}
{{< tab tabName="Milvus版本" >}}
{{< markdownify >}}
```
FE_DOMAIN=你的前端你访问地址,例如 http://192.168.0.1:3000;https://cloud.fastgpt.cn
```
无需操作
{{< /markdownify >}}
{{< /tab >}}
@@ -174,7 +170,6 @@ FE_DOMAIN=你的前端你访问地址,例如 http://192.168.0.1:3000;https://clo
{{% alert icon="🤖" context="success" %}}
1. 修改`MILVUS_ADDRESS``MILVUS_TOKEN`链接参数,分别对应 `zilliz``Public Endpoint``Api key`记得把自己ip加入白名单。
2. 修改FE_DOMAIN=你的前端你访问地址,例如 http://192.168.0.1:3000;https://cloud.fastgpt.cn
{{% /alert %}}
@@ -189,30 +184,28 @@ FE_DOMAIN=你的前端你访问地址,例如 http://192.168.0.1:3000;https://clo
```bash
# 启动容器
docker-compose up -d
# 等待10sOneAPI第一次总是要重启几次才能连上Mysql
sleep 10
# 重启一次oneapi(由于OneAPI的默认Key有点问题不重启的话会提示找不到渠道临时手动重启一次解决等待作者修复)
docker restart oneapi
```
### 4. 访问 FastGPT
目前可以通过 `ip:3000` 直接访问(注意防火墙)。登录用户名为 `root`,密码为`docker-compose.yml`环境变量里设置的 `DEFAULT_ROOT_PSW`
目前可以通过 `ip:3000` 直接访问(注意开放防火墙)。登录用户名为 `root`,密码为`docker-compose.yml`环境变量里设置的 `DEFAULT_ROOT_PSW`
如果需要域名访问,请自行安装并配置 Nginx。
首次运行,会自动初始化 root 用户,密码为 `1234`(与环境变量中的`DEFAULT_ROOT_PSW`一致),日志会提示一次`MongoServerError: Unable to read from a snapshot due to pending collection catalog changes;`可忽略。
首次运行,会自动初始化 root 用户,密码为 `1234`(与环境变量中的`DEFAULT_ROOT_PSW`一致),日志可能会提示一次`MongoServerError: Unable to read from a snapshot due to pending collection catalog changes;`可忽略。
### 5. 配置模型
登录FastGPT后进入“模型提供商”页面,首先配置模型渠道,[点击查看相关教程](/docs/development/modelconfig/ai-proxy)
然后配置具体模型,务必先配置至少一个语言模型和一个向量模型,否则系统无法正常使用
[点击查看模型配置教程](/docs/development/modelConfig/intro/)
- 首次登录FastGPT后系统会提示未配置`语言模型``索引模型`,并自动跳转模型配置页面。系统必须至少有这两类模型才能正常使用。
- 如果系统未正常跳转,可以在`账号-模型提供商`页面,进行模型配置。[点击查看相关教程](/docs/development/modelconfig/ai-proxy)
- 目前已知可能问题:首次进入系统后,整个浏览器 tab 无法响应。此时需要删除该tab重新打开一次即可
## FAQ
### 登录系统后,浏览器无法响应
无法点击任何内容刷新也无效。此时需要删除该tab重新打开一次即可。
### Mongo 副本集自动初始化失败
最新的 docker-compose 示例优化 Mongo 副本集初始化,实现了全自动。目前在 unbuntu20,22 centos7, wsl2, mac, window 均通过测试。仍无法正常启动,大部分是因为 cpu 不支持 AVX 指令集,可以切换 Mongo4.x 版本。

View File

@@ -7,7 +7,7 @@ toc: true
weight: 744
---
从 FastGPT 4.8.23 版本开始,引入 AI Proxy 来进一步方便模型的配置。
`FastGPT 4.8.23` 版本开始,引入 AI Proxy 来进一步方便模型的配置。
AI Proxy 与 One API 类似,也是作为一个 OpenAI 接口管理 & 分发系统,可以通过标准的 OpenAI API 格式访问所有的大模型,开箱即用。
@@ -15,13 +15,29 @@ AI Proxy 与 One API 类似,也是作为一个 OpenAI 接口管理 & 分发系
### Docker 版本
`docker-compose.yml` 文件已加入了 AI Proxy 配置,可直接使用。
`docker-compose.yml` 文件已加入了 AI Proxy 配置,可直接使用。[点击查看最新的 yml 配置](https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml)
## 基础使用
从旧版升级的用户,可以复制 yml 里ai proxy 的配置,加入到旧的 yml 文件中。
## 运行原理
AI proxy 核心模块:
1. 渠道管理:管理各家模型提供商的 API Key 和可用模型列表。
2. 模型调用:根据请求的模型,选中对应的渠道;根据渠道的 API 格式,构造请求体,发送请求;格式化响应体成标准格式返回。
3. 调用日志:详细记录模型调用的日志,并在错误时候可以记录其入参和报错信息,方便排查。
运行流程:
![aiproxy12](/imgs/aiproxy1.png)
## 在 FastGPT 中使用
AI proxy 相关功能,可以在`账号-模型提供商`页面找到。
### 1. 创建渠道
如果 FastGPT 的环境变量中,设置了 AIPROXY_API_ENDPOINT 的值,那么在“模型提供商的配置页面,会多出两个 tab可以直接在 FastGPT 平台上配置模型渠道,以及查看模型实际调用日志。
`模型提供商`的配置页面,点击`模型渠道`,进入渠道配置页面
![aiproxy1](/imgs/aiproxy-1.png)
@@ -36,9 +52,18 @@ AI Proxy 与 One API 类似,也是作为一个 OpenAI 接口管理 & 分发系
1. 渠道名:展示在外部的渠道名称,仅作标识;
2. 厂商:模型对应的厂商,不同厂商对应不同的默认地址和 API 密钥格式;
3. 模型:当前渠道具体可以使用的模型,系统内置了主流的一些模型,如果下拉框中没有想要的选项,可以点击“新增模型”,[增加自定义模型](/docs/development/modelconfig/intro/#新增自定义模型);
4. 模型映射:将 FastGPT 请求的模型,映射到具体提供的模型上
5. 代理地址:具体请求的地址,系统给每个主流渠道配置了默认的地址,如果无需改动则不用填
6. API 密钥:从模型厂商处获取的 API 凭证
4. 模型映射:将 FastGPT 请求的模型,映射到具体提供的模型上。例如:
```json
{
"gpt-4o-test": "gpt-4o",
}
```
FatGPT 中的模型为 `gpt-4o-test`,向 AI Proxy 发起请求时也是 `gpt-4o-test`。AI proxy 在向上游发送请求时,实际的`model``gpt-4o`
5. 代理地址:具体请求的地址,系统给每个主流渠道配置了默认的地址,如果无需改动则不用填。
6. API 密钥:从模型厂商处获取的 API 凭证。注意部分厂商需要提供多个密钥组合,可以根据提示进行输入。
最后点击“新增”,就能在“模型渠道”下看到刚刚配置的渠道
@@ -60,16 +85,15 @@ AI Proxy 与 One API 类似,也是作为一个 OpenAI 接口管理 & 分发系
### 3. 启用模型
最后在模型配置中,可以选择启用对应的模型,这样就能在平台中使用了
最后在`模型配置`中,可以选择启用对应的模型,这样就能在平台中使用了,更多模型配置可以参考[模型配置](/docs/development/modelconfig/intro)
![aiproxy8](/imgs/aiproxy-8.png)
## 渠道设置
## 其他功能介绍
### 优先级
在 FastGPT 中,可以给渠道设置优先级,对于同样的模型,优先级越高的渠道会越优先请求
范围1100。数值越大越容易被优先选中。
![aiproxy9](/imgs/aiproxy-9.png)
@@ -81,13 +105,15 @@ AI Proxy 与 One API 类似,也是作为一个 OpenAI 接口管理 & 分发系
### 调用日志
调用日志 页面,会展示发送到模型处的请求记录,包括具体的输入输出 tokens、请求时间、请求耗时、请求地址等等
`调用日志` 页面,会展示发送到模型处的请求记录,包括具体的输入输出 tokens、请求时间、请求耗时、请求地址等等。错误的请求,则会详细的入参和错误信息,方便排查,但仅会保留 1 小时(环境变量里可配置)。
![aiproxy11](/imgs/aiproxy-11.png)
## 如何从 OneAPI 迁移到 AI Proxy
## 从 OneAPI 迁移到 AI Proxy
可以从任意终端,发起 1 个 HTTP 请求。其中 {{host}} 替换成 AI Proxy 地址,{{admin_key}} 替换成 AI Proxy 中 ADMIN_KEY 的值,参数 dsn 为 OneAPI 的 mysql 连接串
可以从任意终端,发起 1 个 HTTP 请求。其中 `{{host}}` 替换成 AI Proxy 地址,`{{admin_key}}` 替换成 AI Proxy 中 `ADMIN_KEY` 的值
Body 参数 `dsn` 为 OneAPI 的 mysql 连接串。
```bash
curl --location --request POST '{{host}}/api/channels/import/oneapi' \
@@ -100,4 +126,4 @@ curl --location --request POST '{{host}}/api/channels/import/oneapi' \
执行成功的情况下会返回 "success": true
脚本目前不是完全准,可能会有部分渠道遗漏,还需要手动检查
脚本目前不是完全准,仅是简单的做数据映射,主要是迁移`代理地址``模型``API 密钥`,建议迁移后再进行手动检查

View File

@@ -46,6 +46,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
1. 知识库数据不再限制索引数量,可无限自定义。同时可自动更新输入文本的索引,不影响自定义索引。
2. Markdown 解析,增加链接后中文标点符号检测,增加空格。
3. Prompt 模式工具调用,支持思考模型。同时优化其格式检测,减少空输出的概率。
## 🐛 修复