接口说明
接口说明
本主题旨在详细说明AIAB系统中提供的两个兼容接口(OpenAI兼容接口、Ollama兼容接口),包括接口URL、用途、使用场景及与原接口的差异,快速理解并使用接口,实现与AIAB系统的高效对接。
OpenAI兼容接口
接口基础信息
- 接口名称:OpenAI兼容聊天接口
- 接口URL:
/{sdkKey}/{flagKey}/v1/chat/completions
- 请求方式:POST
接口用途
该接口参照 OpenAI 聊天接口设计,核心作用是提供符合 OpenAI 接口调用习惯的聊天交互能力,支持文本生成、多轮对话等 AI 聊天功能,降低开发对接成本,同时适配 AIAB 系统环境与业务逻辑,保障接口稳定性。
适用场景
AIAB系统内部使用:作为 AIAB 系统聊天页面的核心接口,支撑用户在系统内的所有聊天交互需求。用户发送的查询、对话请求均通过此 URL 传递至后端,后端处理后将结果返回至前端页面,是当前 AIAB 系统内使用频率最高的接口。
外部平台对接场景:支持与 dify 等外部平台对接。在 dify 平台的设置中,找到 “模型供应商” 选项,添加OpenAl-APl-compatible插件,在插件中将 “接口地址” 设置为上述 URL,并配置匹配的 API 密钥,即可实现 dify 与 AIAB 系统的连接,dify 用户可通过该接口调用 AIAB 系统的聊天能力。
与OpenAI原接口的差异
URL路径差异:新增了路径参数{sdkKey}和{flagKey},用于承载AB测试相关参数
模型范围限制:仅支持AIAB系统已部署并纳入AB测试的模型
Ollama兼容接口
接口基础信息
- 接口名称:Ollama兼容聊天接口
- 接口URL:
/{sdkKey}/{flagKey}/api/chat
- 请求方式:POST
接口用途
参照 Ollama 聊天接口开发,核心用途是为基于 Ollama 接口架构设计的外部平台提供对接通道,无需外部平台大规模修改现有代码,即可快速集成 AIAB 系统的聊天能力,降低跨平台功能集成的技术成本。
适用场景
当前主要用于与 dify 等外部平台的对接场景。在 dify 平台的设置中,找到 “模型供应商” 选项,添加Ollama插件,在插件中将 “接口地址” 设置为上述 URL,并配置对应的模型名称、API秘钥,即可实现与 AIAB 系统的连接。连接后,平台用户可通过该接口调用 AIAB 系统的聊天功能。
与Ollama原接口的差异
URL路径差异:新增了路径参数{sdkKey}和{flagKey},用于承载AB测试相关参数
模型范围限制:仅支持AIAB系统已部署并纳入AB测试的模型
接口参数说明
路径参数(两个接口通用)
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
sdkKey | String | 是 | A/B测试项目标识 |
flagKey | String | 是 | A/B测试实验标识 |
公共请求头参数
OpenAI接口均需携带以下请求头,Ollama接口可不携带API秘钥
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
Authorization | String | 是 | 接口权限凭证,格式为Bearer [API 秘钥] |
Content-Type | String | 是 | 固定值 application/json,指定请求体为 JSON 格式 |
OpenAI兼容接口请求体参数
请求体包含 OpenAI 原接口核心字段,示例格式如下:
{
"model": "eyeofcloud-chat", // 必填,实际调用model为分桶获取
"messages": [ // 必填,对话历史列表
{
"role": "user",
"content": "你是谁"
}
],
"stream": true, // 必填
"user": "Admin123", // 可选,会根据第一条消息生成一个用户标识
"temperature": 0.7, // 可选,生成文本的随机性,0-2 之间,值越高随机性越强
"max_tokens": 2048 // 可选,生成文本的最大token数
}
Ollama兼容接口请求体参数
请求体包含 Ollama 原接口核心字段,示例格式如下:
{
"model": "eyeofcloud-chat", // 必填,实际调用model为分桶获取
"messages": [ // 必填,对话历史列表
{
"role": "user",
"content": "你是谁"
}
],
"stream": true
}
接口使用注意事项
URL路径参数替换:调用前必须将{sdkKey}和{flagKey}占位符替换为实际值
A/B测试数据关联:
sdkKey
和flagKey
是A/B测试数据统计的核心标识,需确保填写正确,否则会导致测试数据混乱。参数规范:请求参数需符合对应接口的规范,具体参数详情可参考参数说明模块。