应用对话兼容接口
POST /openapi/community/v1/chat/completions
该入口采用 Chat Completions 风格的 messages 请求,用于已配置的 AIS 应用。使用 Authorization: Bearer ak_... 应用 AccessToken;服务端会继续验证应用凭据,并读取该应用的知识库、Prompt 和模型设置。
这与 标准 Chat 的租户配置入口不同。兼容消息格式不代表所有第三方客户端的扩展参数都受支持。
请求
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
messages | array[object] | 是 | 非空,最后一条必须为 role=user,其 content 是当前问题 |
messages[].role、content | string | 是 | 消息角色、文本内容 |
user | string | 否 | 外部用户标识,建议使用 访客注册 返回的 data.code |
conversationId | string | 否 | 沿用返回的会话 ID |
model | string | 否 | 实际配置的模型名称或编码,省略时使用应用配置 |
stream | boolean | 否 | 默认 true;false 返回完整 JSON |
temperature | number | 否 | 默认 0.95,0 < temperature <= 1 |
top_p | number | 否 | 默认 0.7,0 < top_p < 1 |
containerId | array[string] | 否 | 兼容字段;当前知识范围仍按应用绑定配置选择,不作为任意切换知识库的入口 |
curl --request POST "${BASE_URL}/openapi/community/v1/chat/completions" \
--header "Authorization: Bearer ${AIS_APP_TOKEN}" \
--header "Content-Type: application/json" \
--data '{
"user": "partner_visitor_10001",
"messages": [
{"role": "user", "content": "请介绍产品的主要功能"}
],
"stream": false
}'
AIS_APP_TOKEN 使用该应用的 AccessToken。user 在此入口用于对话用户标识,不授予用户知识库权限;权限和知识来源仍由应用及认证配置决定。客户端不能借此把自己变成任意 AIS 用户。
当前问题从 messages 的最后一条 user 消息提取;多轮行为以应用配置及同一 conversationId 为准,不应假定此入口与标准 Chat 的外部历史处理完全相同。
响应
成功直接返回对话对象,不使用 Result 外层包装。完整字段及类型与 标准 Chat 响应 共用;引用条目定义见 数据字典。
| 本接口关键字段 | JSON 类型 | 客户端用途 |
|---|---|---|
conversationId | string | 保存后用于同一用户的续聊和历史查询 |
choices[].message.content | string / object | 展示答案;文本问答通常为字符串 |
choices[].finish_reason | string / null | 判断生成结束原因 |
usage | object / null | 输入、输出及总 Token 统计 |
references、paragraphs | array[object] | 来源与段落引用,可空 |
stream=false 的精简示例:
{
"id": "message_001",
"conversationId": "conversation_001",
"model": "configured-model",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "AIS 提供知识管理、检索与问答能力。"
}
}
]
}
关联访客历史时,保存响应 conversationId,并使用相同 user 编码调用 会话主题与历史查询。成功注册用户不会自动产生历史会话。
模型列表
GET /openapi/community/v1/models。当前使用平台 API Key:Authorization: Bearer tk-...。此模型列表入口与上面的应用对话凭据不同;旧应用 ak_ 受路由权限限制,不应假设能够调用模型列表。
无请求参数,cURL 示例:
curl "${BASE_URL}/openapi/community/v1/models" \
--header "Authorization: Bearer ${AIS_API_KEY}"
返回当前环境模型配置列表,id 是返回的模型名称。不要沿用早期文档中固定的模型清单。
{
"object": "list",
"data": [
{
"id": "configured-model",
"object": "model",
"created": 1788575400000,
"owned_by": "configured-provider"
}
]
}
本接口的 created 由服务端生成,不代表模型供应商的发布时间。字段和模型可用性以对接环境返回为准。
模型列表响应字段
| 字段 | JSON 类型 | 说明 |
|---|---|---|
object | string | 列表类型,list |
data | array[object] | 当前环境模型条目 |
data[].id | string | 模型名称,不代表任意供应商模型都已授权可用 |
data[].object | string | 条目类型,model |
data[].created | integer | 服务端生成的 Unix 毫秒时间,不是供应商发布时间 |
data[].owned_by | string / null | 配置的提供商标识 |
应用对话仍使用应用自身模型配置,不能仅凭模型列表返回某个 id 就假定请求参数能覆盖应用配置。失败处理见 响应与错误编码。