---
title: 通过 AI Proxy 接入模型
description: 通过 AI Proxy 接入模型
---

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

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

## 部署

### Docker 版本

`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. 创建渠道

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

![aiproxy1](/imgs/aiproxy-1.png)

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

![aiproxy2](/imgs/aiproxy-2.png)

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

![aiproxy3](/imgs/aiproxy-3.png)

1. 渠道名：展示在外部的渠道名称，仅作标识;
2. 厂商：模型对应的厂商，不同厂商对应不同的默认地址和 API 密钥格式;
3. 模型：当前渠道具体可以使用的模型，系统内置了主流的一些模型，如果下拉框中没有想要的选项，可以点击“新增模型”，[增加自定义模型](/docs/development/modelconfig/intro/#新增自定义模型);
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 凭证。注意部分厂商需要提供多个密钥组合，可以根据提示进行输入。

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

![aiproxy4](/imgs/aiproxy-4.png)

### 2. 渠道测试

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

![aiproxy5](/imgs/aiproxy-5.png)

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

![aiproxy6](/imgs/aiproxy-6.png)

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

![aiproxy7](/imgs/aiproxy-7.png)

### 3. 启用模型

最后在`模型配置`中，可以选择启用对应的模型，这样就能在平台中使用了，更多模型配置可以参考[模型配置](/docs/development/modelconfig/intro)

![aiproxy8](/imgs/aiproxy-8.png)

## 其他功能介绍

### 优先级

范围1～100。数值越大，越容易被优先选中。

![aiproxy9](/imgs/aiproxy-9.png)

### 启用/禁用

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

![aiproxy10](/imgs/aiproxy-10.png)

### 调用日志

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

![aiproxy11](/imgs/aiproxy-11.png)

## 从 OneAPI 迁移到 AI Proxy

可以从任意终端，发起 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' \
--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 密钥`，建议迁移后再进行手动检查。
