API 扩展

开发者可通过 API 扩展模块能力,当前支持以下模块扩展:

  • moderation 内容对齐

  • external_data_tool 外部数据工具

在扩展模块能力之前,您需要准备一个 API 和用于鉴权的 API Key(也可由平台自动生成)。

除了需要开发对应的模块能力,还需要遵照以下规范,以便平台正确调用 API。

API 规范

平台将会以以下规范调用您的接口:

POST {Your-API-Endpoint}

Header

Header
Value
Desc

Content-Type

application/json

请求内容为 JSON 格式。

Authorization

Bearer {api_key}

API Key 以 Token 令牌的方式传输,您需要解析该 api_key 并确认是否和提供的 API Key 一致,保证接口安全。

Request Body

{
    "point":  string, //  扩展点,不同模块可能包含多个扩展点
    "params": {
        ...  // 各模块扩展点传入参数
    }
}

API 返回

校验

在平台配置 API-based Extension 时,将会发送一个请求至 API Endpoint,以检验 API 的可用性。

当 API Endpoint 接收到 point=ping 时,接口应返回 result=pong,具体如下:

Header

Request Body

API 期望返回

范例

此处以外部数据工具为例,场景为根据地区获取外部天气信息作为上下文。

API 范例

Header

Request Body

API 返回

代码范例

代码基于 Python FastAPI 框架。

  1. 安装依赖

  2. 按照接口规范编写代码

  3. 启动 API 服务,默认端口为 8000,API 完整地址为:http://127.0.0.1:8000/api/receive,配置的 API Key 为 123456

  4. 配置该 API。

配置 API
  1. 在 App 中选择该 API 扩展。

App 调试时,平台将请求配置的 API,并发送以下内容:

API 返回为:

Last updated