智能体与对话特殊接口
涵盖智能体对话(/aitalk_modelview/api)、钉钉(/dingtalk)、微信公众号(/wechat)、企业微信(/wework)、LLM 网关(/llm/api)。
智能体对话 /aitalk_modelview
代码文件:myapp/views/view_chat.py(route_base = '/aitalk_modelview/api')
对话智能体
POST/GET /aitalk_modelview/api/chat/<chat_name>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
| session_id | body | string | 会话 ID |
| search_text | body | string | 用户输入文本 |
| username | body | string | 用户名(可选) |
| enable_asr | body | bool | 启用语音识别 |
| enable_tts | body | bool | 启用语音合成 |
响应(流式/数组):
{
"status": 0,
"result": [
{"text": "回复内容", "audio": "base64_audio", "image": "image_url"}
],
"finish": true
}
说明: 支持流式返回 LLM 响应、知识库召回、文件上传、多模态输入。
可用模型查询
POST/GET /aitalk_modelview/api/models/<chat_name>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
| llm_url | body | string | 可选,自定义 LLM 服务地址 |
| llm_token | body | string | 可选,自定义 LLM Token |
响应:
{
"status": 0,
"result": {
"data": [{"id": "model-name", "owned_by": "org", "max_model_len": 4096}],
"value": "默认模型名"
}
}
对话反馈
POST /aitalk_modelview/api/message_feedback/<chat_name>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
| session_id | body | string | 会话 ID |
| message_id | body | string | 消息 ID |
| feedback_type | body | string | 反馈类型 |
| feedback_tag | body | string | 反馈标签 |
| feedback_description | body | string | 反馈描述 |
响应:
{"status": 0, "message": "success"}
对话文件上传/下载
POST /aitalk_modelview/api/file/<chat_name>/<file_name> # 上传
GET /aitalk_modelview/api/file/<chat_name>/<file_name> # 下载/预览
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
| file_name | path | string | 文件名 |
GET 响应: HTML(CSV → 表格,MD → 渲染 HTML,DOCX/PDF → 文档预览)
钉钉机器人 /dingtalk
代码文件:myapp/views/view_chat_dingtalk.py(route_base = '/dingtalk')
钉钉机器人对话入口
GET/POST /dingtalk/chatgpt/<chat_name>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
| timestamp | header | string | 时间戳 |
| sign | header | string | HMAC-SHA256 签名 |
请求体: 钉钉 Webhook 消息 JSON
响应: 空(异步处理后通过钉钉 API 回复)
说明: 先验证 HMAC-SHA256 签名,再调用 Chat 基类处理对话,异步发送回复。
微信公众号 /wechat
代码文件:myapp/views/view_chat_wechat.py(route_base = '/wechat')
微信公众号 Token 验证
GET/POST /wechat/token
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| signature | query | string | 微信签名 |
| timestamp | query | string | 时间戳 |
| nonce | query | string | 随机数 |
| echostr | query | string | 验证回显字符串 |
响应: 返回 echostr(验证通过)或空字符串
微信 JSAPI 签名
GET/POST /wechat/jsapi
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| url | query/body | string | 当前页面 URL |
响应:
{
"code": 0,
"message": "success",
"data": {
"nonceStr": "xxx",
"timestamp": "xxx",
"signature": "xxx",
"appId": "xxx",
"jsapi_ticket": "xxx"
}
}
微信公众号对话入口
GET/POST /wechat/chatgpt/<chat_name>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
请求体: 微信加密 XML 消息
响应: XML 格式消息(支持 text / image / voice / video)
备注:该视图还注册了
/wechat/MP_verify_xxx.txt静态校验文件路由(公众号域名校验用),此处略。
企业微信 /wework
代码文件:myapp/views/view_chat_wework.py(route_base = '/wework')
企业微信对话入口
GET/POST /wework/chatgpt/<chat_name>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| chat_name | path | string | 智能体名称 |
| msg_signature | query | string | 消息签名 |
| timestamp | query | string | 时间戳 |
| nonce | query | string | 随机数 |
| echostr | query | string | 验证回显(GET 时) |
GET 响应: 返回解密后的 echostr(URL 验证)
POST 请求体: WXBizMsgCrypt 加密 XML 消息
POST 响应: 加密 XML 消息(Markdown 格式回复)
LLM网关 /llm/api
代码文件:myapp/views/view_llm_ingress.py(route_base = '/llm/api')
大模型列表
GET/POST /llm/api/<ingress_id>/v1/models
GET/POST /llm/api/<ingress_id>/v1/models/<model>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| ingress_id | path | int | 网关 ID |
| model | path | string | 可选,指定模型名 |
响应(OpenAI 兼容格式):
{
"object": "list",
"data": [
{"id": "model-name", "object": "model", "created": 1700000000, "owned_by": "org"}
]
}
大模型向量化
POST /llm/api/<ingress_id>/v1/embeddings
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| ingress_id | path | int | 网关 ID |
| model | body | string | 模型名 |
| input | body | string/array | 输入文本 |
响应: OpenAI embeddings 格式
说明: 代理请求到 InferenceService,包含认证/配额/限流检查。
大模型补全
POST /llm/api/<ingress_id>/v1/completions
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| ingress_id | path | int | 网关 ID |
| model | body | string | 模型名 |
| prompt | body | string | 输入提示 |
响应: OpenAI completion 格式(支持流式)
大模型对话
POST /llm/api/<ingress_id>/v1/chat/completions
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| ingress_id | path | int | 网关 ID |
| model | body | string | 模型名 |
| messages | body | array | 对话消息列表 |
| stream | body | bool | 是否流式返回 |
响应: OpenAI chat completion 格式(stream=true 时 chunked 返回)
说明: 代理请求到 InferenceService,包含认证验证、搜索插件、安全检查、重试逻辑。
网关测试弹窗
GET/POST /llm/api/test/<ingress_id>
响应: JSON,网关测试弹窗配置
网关指标监控弹窗
GET /llm/api/monitoring/<ingress_id>
响应: JSON,监控指标数据