API接口说明
本节将介绍智能问答模块提供的RESTful API接口。
API: /v1/api/search
功能描述:提供检索功能,包括向量检索+文本检索+重排序。
请求方式:POST
参数及其解释:如下表所示:
表 1 接口参数说明
接口示例:
curl -X 'POST' 'https://host:port/v1/api/search' -H 'accept: application/json' -H "Content-Type: application/json" -d '{"question": "介绍一下DBMind", "user_id": "123", "session_id": "123"}' --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
{
"data":
{
"question_id": "98b21d51-9565-4dd4-9b0a-2854260de9cb",
"rerank_search_time": 0.561,
"search_res": [
{
"Top No.": "xxx",
"confidence": "xxx",
"content": "xxx",
"context": "xxx",
"doc_location": "xxx",
"field": "xxx",
"keyword": "xxx",
"knowledge_id": "xxx",
"link": "xxx",
"media": "xxx",
"product_format": "xxx",
"score": 1.1,
"source": "xxx",
"sub_field": "xxx",
"title": "xxx",
"version": "xxx",
"visualize": "xxx"
}
],
"text_search_time": 0.006,
"total_time": 1.1461763381958008,
"vector_search_time": 0.015
},
"success":true
}
错误示例:
{"msg":"Internal server error.","success":false}
{"detail":[{"loc":["body","session_id"],"msg":"field required","type":"value_error.missing"}]}
API: /v1/api/infer
功能描述:提供答案生成功能,结合查询与上下文生成答案。
请求方式:POST
参数及其解释:如下表所示:
表 2 接口参数说明
接口示例:
curl -X 'POST' 'https://host:port/v1/api/infer' -H 'accept: text/event-stream' -H "Content-Type: application/json" -d '{"question": "介绍一下DBMind", "question_id": "1555fc9d-d098-4191-9875-9ae45df08e22", "user_id": "123", "session_id": "123", "search_res": [{"Top No.":0,"confidence":"unknown","content":"xxx","context":"{\"\",\"8eddee07-72fc-4564-a36e-78ee52eb4ec9\",\"d33fc937-76f1-4c39-a445-1bf551f64e5d\"}","doc_location":"xxx.md","field":"openGauss","keyword":"{\"\"}","knowledge_id":"8eddee07-72fc-4564-a36e-78ee52eb4ec9","link":null,"media":"","product_format":"unknown","score":17.537734985351562,"source":"unknown","sub_field":"kernel","title":"xxx.md","version":"unknown","visualize":null},{"Top No.":1,"confidence":"unknown","content":"xxx","context":"{\"d740dd69-b662-45a3-ad65-253906c84246\",\"a12e517e-fa66-411f-8045-04960d8623ee\",\"\"}","doc_location":"xxx.md","field":"openGauss","keyword":"{\"\"}","knowledge_id":"a12e517e-fa66-411f-8045-04960d8623ee","link":null,"media":"","product_format":"unknown","score":14.618561744689941,"source":"unknown","sub_field":"kernel","title":"xxx.md","version":"unknown","visualize":null},{"Top No.":2,"confidence":"1","content":"xxx","context":"{\"228fc140-9fc9-49ed-bd21-100d7dbbd625\",\"b98d692c-bf4b-434c-86a1-0593aa6f204a\",\"9e9314f9-a047-4168-8149-8e1fd7447398\"}","doc_location":"xxx.md","field":"openGauss","keyword":"{\"\"}","knowledge_id":"b98d692c-bf4b-434c-86a1-0593aa6f204a","link":null,"media":"","product_format":"centralized","score":13.396706581115723,"source":"idp","sub_field":"kernel","title":"xxx.md","version":"24.7.30.10","visualize":null}]}' --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
data:{"data":{"data":"D","type":"answer"},"success":true}\n\n
data:{"data":{"data":"DB","type":"answer"},"success":true}\n\n
...
data:{"data":{"data":{"answer_id":xxx,"time": 0.15}, "type":"complete",},"success":true}\n\n
错误示例:
data:{"msg":"Internal server error.","success":false}\n\n
API: /v1/api/ask_gauss
功能描述:进行流程编排,结合查询优化、融合检索等技术,提供端到端的问答功能。
请求方式:POST
参数及其解释:如下表所示:
表 3 接口参数说明
接口示例:
curl -X 'POST' 'https://host:port/v1/api/ask_gauss' -H 'accept: text/event-stream' -H "Content-Type: application/json" -d '{"question": "介绍一下DBMind", "user_id": "123", "session_id": "123"}' --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
data:{"data":{"data":"检索中...","type":"progress"},"success":true}\n\n
data:{"data":{"data":"检索完成","type":"progress"},"success":true}\n\n
data:{"data":{"data":"答案生成中...',"type":"progress"},"success":true}\n\n
data:{"data":{"data":"h","type":"answer"},"success":true}\n\n
data:{"data":{"data":"he","type":"answer"},"success":true}\n\n
...
data:{"data":{"data":"答案生成完成", "type": "progress"},"success":true}\n\n
data:{"data":{"data":{"answer_id":xxx,"question_id":xxx,"time":0.15 },"type":"complete"},"success":true}\n\n
错误示例:
data:{"msg":"Internal server error.","success":false}\n\n
API: /v1/api/feedback/like
功能描述:答案正确时,反馈对答案的认可。
请求方式:POST
参数及其解释:如下表所示:
表 4 接口参数说明
接口示例:
curl -X 'POST' 'https://host:port/v1/api/feedback/like?answer_id=e1a19c1e-8c3f-49ae-b476-8a21434e5f9e' -H 'accept: text/event-stream' -H "Content-Type: application/json" --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
{"data":"feedback like success.","success":true}
错误示例:
{"msg":"Internal server error.","success":false}
API: /v1/api/feedback/hate
功能描述:答案错误时,反馈对错误的标注。
请求方式:POST
参数及其解释:如下表所示:
表 5 接口参数说明
接口示例:
curl -X 'POST' 'https://host:port/v1/api/feedback/hate?answer_id=e1a19c1e-8c3f-49ae-b476-8a21434e5f9e' -H 'accept: text/event-stream' -H "Content-Type: application/json" --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
{"data":"feedback hate success.","success":true}
错误示例:
{"msg":"Internal server error.","success":false}
API: /v1/api/feedback
功能描述:针对答案,给出用户反馈的建议等。
请求方式:POST
参数及其解释:如下表所示:
表 6 接口参数说明
接口示例:
curl -X 'POST' 'https://host:port/v1/api/feedback?answer_id=e1a19c1e-8c3f-49ae-b476-8a21434e5f9e&feedback_info=notuseful' -H 'accept: text/event-stream' -H "Content-Type: application/json" --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
{"data":"feedback info success.","success":true}
错误示例:
{"msg":"Internal server error.","success":false}
API: /v1/api/feedback/report
功能描述:答案不友好时,可进行举报反馈。
请求方式:POST
参数及其解释:如下表所示:
表 7 接口参数说明
举报类型,取值范围为:["低俗色情", "账号违规", "敏感信息", "暴力恐怖", "造谣诽谤", "侮辱英烈", "谩骂攻击", "民族宗教", "赌博诈骗", "危害未成年", "违法违禁品", "其他"]。 | |||
接口示例:
curl -X 'POST' 'https://host:port/v1/api/feedback/report?answer_id=e1a19c1e-8c3f-49ae-b476-8a21434e5f9e&report_type=%E4%BD%8E%E4%BF%97%E8%89%B2%E6%83%85&report_info=notfriendly' -H 'accept: text/event-stream' -H "Content-Type: application/json" --cacert /path/xxx.crt --key /path/xxx.key --cert /path/xxx.crt --pass "***"
参考返回结果:
{"data":"feedback report success.","success":true}
错误示例:
{"msg":"Internal server error.","success":false}
意见反馈