129 lines
2.8 KiB
Markdown
129 lines
2.8 KiB
Markdown
好的,以下是 简化版的智能问答接口设计,聚焦两个核心问答模式:
|
||
• ✅ 普通聊天(chat)
|
||
• ✅ 深度研究(research)
|
||
|
||
省略了 history_limit、model、parameters、metadata 等高级控制参数,仅保留核心功能字段。
|
||
|
||
⸻
|
||
|
||
✅ 请求接口设计
|
||
|
||
POST /api/qa/ask
|
||
|
||
📥 请求体(JSON)
|
||
|
||
{
|
||
"mode": "chat", // chat | research,问答模式
|
||
"conversation_id": "12345", // 可选,会话ID(用于上下文关联)
|
||
"message": "什么是RAG?" // 用户输入的问题
|
||
}
|
||
|
||
📌 字段说明
|
||
|
||
字段名 类型 必填 说明
|
||
mode string 是 chat 普通聊天,research 深度研究
|
||
conversation_id string 否 可选;为空则创建新会话
|
||
message string 是 用户发送的问题内容
|
||
|
||
|
||
⸻
|
||
|
||
✅ 响应数据设计
|
||
|
||
📤 响应体(JSON)
|
||
|
||
{
|
||
"success": true,
|
||
"conversation_id": "12345",
|
||
"message_id": "msg_001",
|
||
"answer": "RAG 是一种结合检索与生成的问答系统架构...",
|
||
"references": [], // chat 模式为空;research 模式可能返回引用资料
|
||
"report_id": null, // 仅在 research 模式中,若已触发报告生成
|
||
"tokens_used": 198,
|
||
"time_ms": 732
|
||
}
|
||
|
||
📌 字段说明
|
||
|
||
字段名 类型 说明
|
||
success boolean 是否成功
|
||
conversation_id string 当前所属会话 ID
|
||
message_id string 当前返回消息的唯一标识
|
||
answer string 模型生成的回答内容
|
||
references array 若为 research 模式,可能包含引用资料;否则为空
|
||
report_id string | null 若生成报告,返回报告ID;否则为 null
|
||
tokens_used number 生成过程使用的 token 数量(可用于统计/计费)
|
||
time_ms number 模型生成耗时(毫秒)
|
||
|
||
|
||
⸻
|
||
|
||
✅ 示例
|
||
|
||
📌 普通聊天模式
|
||
|
||
请求
|
||
|
||
{
|
||
"mode": "chat",
|
||
"message": "你好,帮我解释一下 LLM 是什么?"
|
||
}
|
||
|
||
响应
|
||
|
||
{
|
||
"success": true,
|
||
"conversation_id": "abc123",
|
||
"message_id": "msg_1001",
|
||
"answer": "LLM(Large Language Model)是指大型语言模型...",
|
||
"references": [],
|
||
"report_id": null,
|
||
"tokens_used": 154,
|
||
"time_ms": 645
|
||
}
|
||
|
||
|
||
⸻
|
||
|
||
📌 深度研究模式
|
||
|
||
请求
|
||
|
||
{
|
||
"mode": "research",
|
||
"conversation_id": "r20240718_001",
|
||
"message": "请详细说明 RAG 在金融领域的应用。"
|
||
}
|
||
|
||
响应
|
||
|
||
{
|
||
"success": true,
|
||
"conversation_id": "r20240718_001",
|
||
"message_id": "msg_2009",
|
||
"answer": "在金融领域,RAG 可用于增强问答系统...",
|
||
"references": [
|
||
{
|
||
"title": "RAG 应用于金融智能问答",
|
||
"url": "https://example.com/rag-finance",
|
||
"quote": "金融领域中的RAG系统能显著提升精确率..."
|
||
}
|
||
],
|
||
"report_id": "report_84928",
|
||
"tokens_used": 341,
|
||
"time_ms": 1024
|
||
}
|
||
|
||
|
||
⸻
|
||
|
||
✅ 结构总结(精简版)
|
||
|
||
模式 关键差异
|
||
chat 只返回回答,无引用、无报告
|
||
research 返回引用资料、可返回 report_id
|
||
|
||
|
||
⸻
|
||
|
||
如需下一步生成 Swagger/OpenAPI 接口文档、接口校验 Schema、数据库如何存储这些内容,欢迎继续提问。 |