FastGPTFastGPT

OpenAPI 介绍

FastGPT OpenAPI 介绍

自动化 API 文档

自动化 API 文档为当前版本系统的所有接口,不区分是否可通过 API Key 调用。

后续所有接口都将做自动化生成,会逐步完善文档。

使用说明

FastGPT OpenAPI 接口允许你使用 API Key 进行鉴权,从而操作 FastGPT 上的相关服务和资源,例如:调用应用对话接口、上传知识库数据、搜索测试等等。出于兼容性和安全考虑,并不是所有的接口都允许通过 API Key 访问。

如何查看 BaseURL

注意:BaseURL 不是接口地址,而是所有接口的根地址,直接请求 BaseURL 是没有用的。

API Key 类型

FastGPT 的 API Key 分为 全局 APIKey应用 APIKey。这两个概念的生成位置、隔离范围和可调用接口不同,请按实际场景选择。

类型生成位置隔离范围典型用途
全局 APIKey账号设置 -> API 密钥团队级全局密钥,不绑定单个应用调用支持 API Key 鉴权的通用 OpenAPI。调用 chat/completions 时需要在请求体传入 appId;如需代理团队成员身份,必须由团队所有者为该 key 开启 authProxy 后,再在请求体传入 authProxy
应用 APIKey应用 -> 发布渠道 -> API按应用隔离,每个密钥只属于一个应用只能调用该应用的 chat/completions 对话接口。密钥内已绑定应用,无需额外传 appId,也不支持 authProxy

我们建议:第三方客户端或外部系统只需要对接单个应用对话时,使用 应用 APIKey;服务端需要操作知识库、应用管理等通用资源,或需要在对话接口中使用 authProxy 代理身份时,使用 全局 APIKey

全局 APIKey应用 APIKey

基本配置

OpenAPI 中,所有的接口都通过 Header.Authorization 进行鉴权。

baseUrl: "http://localhost:3000/api"
headers: {
    Authorization: "Bearer {{apikey}}"
}

发起应用对话示例

curl --location --request POST 'http://localhost:3000/api/v1/chat/completions' \
--header 'Authorization: Bearer fastgpt-xxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "111",
    "stream": false,
    "detail": false,
    "messages": [
        {
            "content": "导演是谁",
            "role": "user"
        }
    ]
}'

自定义用户 ID

v4.8.13 后支持传入自定义的用户 ID, 并且存入历史记录中。

curl --location --request POST 'http://localhost:3000/api/v1/chat/completions' \
--header 'Authorization: Bearer fastgpt-xxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "111",
    "stream": false,
    "detail": false,
    "messages": [
        {
            "content": "导演是谁",
            "role": "user"
        }
    ],
    "customUid": "xxxxxx"
}'

在历史记录中,该条记录的使用者会显示为 xxxxxx