1. 新增问答策略
接口描述
在调用百度AI搜索API进行联网搜索总结时,可设置一系列特定的用户输入,通过完全匹配、语义匹配或关键词匹配的方式命中后,进行特定知识库检索后总结、特定知识库检索+联网搜索后总结、预置特定回答等方式进行输出,确保符合品牌立场、人设、形象。
调用该接口前:
- 准备好需要干预的输入清单
- 准备好对应不同输入的回答(可选)
- 准备好对不同输入进行回答需要参考的知识库,并准备好知识库ID(可选)
- 在AppBuilder页面进行创建知识库
- 通过OpenAPI进行创建知识库
接口定义
请求参数
字段 |
类型 |
是否必填 |
说明 |
query |
str |
是 |
问答query,不超过256个字符 |
query_match_strategy |
QueryMatchStrategy |
是 |
query匹配策略 |
answer_strategy |
AnswerStrategy |
是 |
回复策略 |
QueryMatchStrategy对象
字段 |
类型 |
必填 |
说明 |
name |
string |
是 |
匹配策略名字:
exact - 完全匹配
semantic - 语义匹配
keyword - 关键词匹配 |
similarity_threshold |
float |
否 |
当语义匹配时,该字段会被用到,值介于0~1之间,默认0.9 |
embedding |
array |
否 |
当语义匹配时,该字段会被用到 |
keywords |
array |
否 |
当关键词匹配时,该字段会被用到,范围为0~256 |
AnswerStrategy对象
字段 |
类型 |
必填 |
说明 |
name |
string |
是 |
回复策略。 preset_answer - 预置答案 baidusearch_and_knowledge_base - 参考百度搜索知识库进行回答 knowledge_base - 知识库 |
preset_answer_strategy_detail |
PresetAnswerStrategyDetail |
否 |
预置回答策略 |
knowledge_base_answer_strategy_detail |
KnowledgeBaseAnswerStrategyDetail |
否 |
知识库回答策略 |
AnswerStrategy.PresetAnswerStrategyDetail
字段 |
类型 |
必填 |
说明 |
content |
string |
是 |
预设答案内容 |
references |
array[reference] |
是 |
参考信息来源 |
AnswerStrategy.KnowledgeBaseAnswerStrategyDetail
字段 |
类型 |
必填 |
说明 |
knowledge_base_ids |
array |
是 |
知识库id数组 |
document_ids |
array |
是 |
文档id数组 |
top_k |
int |
否 |
最相关的前k个结果,默认top6 |
响应参数
字段 |
类型 |
必填 |
说明 |
request_id |
string |
是 |
请求request_id |
code |
string |
否 |
错误代码,当发生异常时返回 |
message |
string |
否 |
错误消息,当发生异常时返回 |
请求示例
curl --location 'https://qianfan.baidubce.com/v2/ai_search/qa_strategy' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer authorization string' \
--data '{
"query": "xx是组装厂吗?",
"query_match_strategy": {
"name": "keyword",
"keywords": [
"xx", "组装厂"
]
},
"answer_strategy": {
"name": "preset_answer",
"preset_answer_strategy_detail": {
"content": "xx不是组装厂",
"references": [
{
}
]
}
}
}'
响应示例
2. 删除问答策略
接口描述
删除问答策略
接口定义
请求参数
字段名 |
字段类型 |
是否必须 |
说明 |
query |
str |
是 |
待删除的问答策略匹配query |
响应参数
字段 |
类型 |
必填 |
说明 |
request_id |
string |
是 |
请求request_id |
code |
string |
否 |
错误代码,当发生异常时返回 |
message |
string |
否 |
错误消息,当发生异常时返回 |
请求示例
curl -X "DELETE" \
--header 'Authorization: Bearer authorization string' \
--location 'https://qianfan.baidubce.com/v2/ai_search/qa_strategy?query=%E5%B0**E5%90%97%EF%BC%9F'
响应示例
3. 分页查询问答策略
接口定义
请求params入参
字段名 |
字段类型 |
是否必须 |
说明 |
offset |
str |
否 |
偏移量 |
limit |
str |
否 |
条数限制,最大不超过50 |
响应参数
字段 |
类型 |
必填 |
描述 |
request_id |
string |
是 |
请求request_id |
code |
string |
否 |
错误代码,当发生异常时返回 |
message |
string |
否 |
错误消息,当发生异常时返回 |
count |
int |
是 |
结果总数 |
items |
array<qa_strategy> |
是 |
问答策略数组 |
qa_strategy对象
字段 |
类型 |
说明 |
answer_strategy |
object |
回复策略 |
query_match_strategy |
object |
query匹配策略 |
query |
string |
query |
请求示例
curl --location 'https://qianfan.baidubce.com/v2/ai_search/qa_strategy?offset=2&limit=4' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer authorization string' \
响应示例
{
"request_id": "123",
"count": 14,
"items": [{
"qa_strategy": {
"answer_strategy": {
"knowledge_base_answer_strategy_detail": null,
"name": "preset_answer",
"preset_answer_strategy_detail": {
"content": "今天xx价格多钱",
"references": [{
"content": "快讯 美元指数再次冲高!金价小幅上涨!...",
"date": "2024-12-03",
"given_to_llm": true,
"icon": "https://appbuilder.bj.bcebos.com/baidu-searag-pro/icon/default.png",
"image_detail": {
"height": null,
"url": null,
"width": null
},
"ref_num": "1",
"resource_type": "web",
"title": "今天xx价格多少多少钱...",
"url": "http://www.hgjinjiage.cn/",
"video": null,
"web_anchor": "xx查询网"
}]
}
},
"query_match_strategy": {
"name": "exact",
"similarity_threshold": 0.0
},
"query": "xx是组装厂吗"
}
}]
}