根据聊天内容,动态处理闲聊,拒答,搜索等意图,再给出合适的用户回复的同时,动态地调用搜索功能并返回搜索到的物品数据。
使用对话搜索功能时,您需要自行维护会话session的唯一标识,每次调用可上传session_id:
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
session_id | String | 是 | j9rG6w0X3tK7Z5b4D2L8Q6nP1yE7mF5H9S0a | 用于关联用户聊天的记忆。一个用户只有同一个session_id的上下文会被关联。 |
input_message | 是 | 聊天输入内容。 | ||
user | 否 | 用户信息,用于明确是哪一位具体的用户触发了本次 API 调用。 | ||
search_param | 否 | 如果聊天触发搜索意图,可以通过这个参数控制搜索行为。 | ||
enable_suggestions | bool | 否 | false | 控制是否返回搜索建议。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
content | Array< Content> | 是 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
type | String | 是 | "text"或"image_url" | 表明当前Content里内容的类型。 |
text | String | 否 | "给我推荐一款适合老年人吃的钙片" | 用于聊天中触发搜索意图时的文本输入。 |
image_url | 否 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
url | String | 否 | "data:image/jpeg;base64,iVBUAAAA..." 注意 data:[ | 用于聊天中触发搜索意图时的图片输入。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
_user_id | String | 否 | "ldy_199432" | 代表最终用户的唯一标识符。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
page_size | Int | 否 | 10 | 搜索返回数量,决定搜索结果返回数量。不传在当前场景的默认值为10。**不支持分页,**返回的是一个 单批次 的结果。 |
dataset_ids | Array | 否 | ["106265704"] | 数据集id列表,您可以提供一个或多个数据集 ID,将搜索范围限定在这些特定的数据集中。若不提供,则由大模型根据查询内容判断最相关的结果来源,并可能跨多个数据集进行检索。 |
filters | Map <String, Filter> | 否 | { | key是数据集id,value是对应数据集的过滤条件。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
op | String | 是 | "must" | 算子类型,支持: |
field | String | 条件必选 | "status" | 需要应用过滤条件的字段。
|
gte | Float | 否 | 100.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
gt | Float | 否 | 100.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
lte | Float | 否 | 500.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
lt | Float | 否 | 500.0 | "range" 算子的过滤范围,语义为过滤"field"字段值 |
conds | Array | 条件必选 | 除 "range" 算子之外,其余算子均需指定conds条件。
|
Filter各算子示例
算子 | 支持字段类型 | 算子说明 | 示例 |
---|---|---|---|
must |
| 语义为必须在 [...] 之中,即 "must in"。 | 示例一:
示例二:
|
must_not |
| 语义为必须不在 [...] 之中,即 "must not in"。 |
|
range |
| 语义为必须在指定范围内。 |
|
and | 逻辑算子,针对逻辑查询需求,对多个条件取交集。 |
| |
or | 逻辑算子,针对逻辑查询需求,对多个条件取并集。 |
|
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
request_id | String | 25ee998a-5462-9385-9f18-035f1da7a6e5 | 用于唯一标识一次请求,可根据 request_id 快速定位一次请求的执行。 |
result |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
step_info | 表示当前流式处理的阶段。 | ||
content | String | "为您推荐xx牌钙镁锰锌铜维D片" | 流式返回的消息内容,多个请求的 content 需要拼接才能获取完整的消息。 |
payload | |||
stop_reason | String |
参数 | 类型 | 描述 |
---|---|---|
step | String | 当前处理步骤 |
step_payload | Object | 当前处理步骤所需的内容 |
根据视频搜索运行所处的不同阶段,step_info有不同的值
处理阶段 | Step_info示例 | 描述 |
---|---|---|
分析需求 |
| 对用户输入的问题进行分析 |
查询工具调用 | 图文数据:
视频数据:
| 回答当前问题需要使用的工具,tool_name是调用工具的名称,有下列值: |
搜索到相关结果 | 调用search工具:
使用video search and analysis工具:
| 搜索到回答问题需要用到的结果/调用工具需要的内容 |
分析结果 |
| 大模型对搜索召回的结果进行分析,这一步基于召回内容的长度可能消耗2-5秒事件 |
生成回答 |
| 生成回答,返回response.content中的最终回答内容 |
最终回答中展示的辅助内容:
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
search | Map<String, Search > | 图文数据集:
视频数据集:
| 搜索相关信息。 |
video_deep_answer | Map<String, VideoDeepAnswer> | 首先打印related_video:
生成回答后打印highlights列表:
| key 是 dataset id,value 是related_video或highlights参数。整个搜索流程中video_deep_answer在整个流式输出过程会打印两部分内容: |
suggestions | Array | 图文数据:
视频数据:
| 在reply阶段打印搜索建议 |
step为get_results时,在result.payload中返回数据集搜索参数和搜索结果:
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
search_results | Array<SearchResult > | 搜索联想结果列表,默认返回10条,如需调整可在应用配置中搜索联想的最大查询召回量。 | |
total_items | Int | 300 | 搜索结果总量,即候选数量。可在应用配置中调整最大召回物品量,但最终的数量取决于数据源中相关数据的总量。 |
query | 搜索联想查询内容。 | ||
page_size | Int | 10 | 每页搜索结果的数量。 |
dataset_id | String | "106265704" | 数据集 id。 |
search对象中返回的搜索结果列表
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
_id | String | "WSHOE001" | 该数据在数据存储中的主键,源于您上传内容中字段属性为唯一标识的字段的值。 |
display_fields | Object | 图文数据:
视频数据:
| 视频数据。与数据导入时的字段一致。 |
Search对象中返回的改写后的搜索查询词
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
text | String | "给我推荐一款适合老年人吃的钙片" | 文本查询词 |
Payload对象中返回的视频深度检索问答内容,深入视频内容切片,串联视频内的信息和事件,返回与最终生成答案相关的视频媒体和视频内容内的相关片段信息
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
related_video | Object | { | 视频数据。与数据导入时的字段一致 |
highlights | Array<Highlight> | 见Highlight对象 | 根据搜索需求返回的视频看点片段 |
基于用户的问题返回的视频内容总结,包含视频总结语和相关视频片段
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
content_id | String | "video_900026" | 视频内容唯一标识 |
generated_title | String | "叶文洁发送信号的原因" | 媒体内容经视频理解生成的总结标题 |
video_title | String | "三体 第五集" | 返回视频标题,视频数据未上传“内容标题”属性字段时则为空 |
snippets | Array<Snippet> | 见Snippet对象 | 相关视频片段总结 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
start_timestamp | Int64 | 0 | 看点在视频中的开始时间(秒) |
end_timestamp | Int64 | 24 | 看点在视频中的结束时间(秒) |
summary | String | "提及怀疑叶文洁" | 片段摘要 |
cover | String | 视频片段封面url,可下载 |
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/chat_search' \ -H 'Content-Type: application/json' \ -H 'Authorization: <火山鉴权的一系列相关header>' \ -d '{ "session_id": "25ee998a-5462-9385-9f18-035f1da7a6e5", "input_message": { "content":[{"type":"text", "text":"给我推荐一款适合老年人吃的钙片"}] }, "user": { "user_id": "ldy_199432" }, "enable_suggestions": true }'
{"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"step":"analyze requirement"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"tool call","payload":{"param":{"search_requests":[{"query":"钙片","dataset_id":"106260839"}]},"tool_name":"search"}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"get results"}}} {"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"payload":{"search":{"106260839":{"search_results":[{"_id":"10699","display_fields":{"category":["sop积分兑换专区","礼品兑换专区"],"detail":"\u003cp\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294723485/10.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294723485/11.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003c/p\u003e","images":["https://resources.amway.com.cn/product/99/10699/1/10699-1-1200Wx1200H.jpg?x-oss-process=image/resize,m_fixed,h_1200,w_1200"],"item_id":"10699","keywords":["成人钙镁片"],"name":"钙镁锰锌铜维D片90","skus":["10699"]},"score":0.16666666666666666},{"_id":"10573","display_fields":{"category":["sop积分兑换专区","礼品兑换专区"],"detail":"\u003cp\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721295438993/维生素C_09.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cbr/\u003e\u003c/p\u003e","images":["https://resources.amway.com.cn/product/73/10573/1/10573-1-1200Wx1200H.jpg?x-oss-process=image/resize,m_fixed,h_1200,w_1200"],"item_id":"10573","keywords":[""],"name":" 维生素C片(45片)","skus":["10573"]},"score":0.09555555555555556},{"_id":"10521","display_fields":{"category":["sop积分兑换专区","礼品兑换专区"],"detail":"\u003cp\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294065789/11.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294065789/12.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cbr/\u003e\u003c/p\u003e","images":["https://resources.amway.com.cn/product/21/10521/1/10521-1-1200Wx1200H.jpg?x-oss-process=image/resize,m_fixed,h_1200,w_1200"],"item_id":"10521","keywords":[""],"name":"倍立健片(30片x2包)","skus":["10521"]},"score":0.0900735294117647}],"total_items":100,"query":{"text":"适合老年人吃的钙片"},"page_size":10,"page_number":1,"dataset_id":"106263733"}}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"analyze results"}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"reply"}}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"以下"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"是"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"推荐"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"的"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"钙片"}} {"request_id":"df37782e-3c5c-4356-81a0-056ea4a8da18","result":{"payload":{"suggestions":["老年人钙片哪种好吸收","适合老人的钙片品牌排行榜","老年人补钙含维生素D推荐"]}}}
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/application_id/chat_search' \ -H 'Content-Type: application/json' \ -H 'Authorization: 签名字符串' \ -d '{ "session_id": "25ee998a-5462-9385-9f18-035f1da7a6e5", "input_message": { "content":[{"type":"text", "text":"有哪些好看的国产科幻片?"}] }, "user": { "user_id": "ldy_199432" }, "search_param": { "limit": 10, "dataset_ids": ["106265704"], "filters": { "106265704": { "op": "must", "field": "director", "conds": ["郭帆"] } } } }'
使用search工具回答视频搜索和推荐类问题:
{"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"step":"analyze requirement"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"tool call","payload":{"param":{"search_requests":[{"query":"三体","dataset_id":"106260839"}]},"tool_name":"search"}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"get results"}}} {"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"payload":{"search":{"106260839":{"search_results":[{"_id":"video_900026","display_fields":{"content_id":"video_900026","content_type":"video","parent_content_id":"collection_342534","sequence_index":26,"video_url":["http://xxxx.mp4"],"my_title":"三体第二十六集"},{"_id":"video_900027","display_fields":{"content_id":"video_900027","content_type":"video","parent_content_id":"collection_342534","sequence_index":27,"video_url":["http://xxxx.mp4"],"my_title":"三体第二十七集"},{"_id":"video_900028","display_fields":{"content_id":"video_900028","content_type":"video","parent_content_id":"collection_342534","sequence_index":28,"video_url":["http://xxxx.mp4"],"my_title":"三体第二十八集"},"page_size":10,"page_number":1,"dataset_id":"106263733"}}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"analyze results"}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"reply"}}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"以下"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"是"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"推荐"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"的"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"视频"}} {"request_id":"df37782e-3c5c-4356-81a0-056ea4a8da18","result":{"payload":{"suggestions":["科幻片","三体的主要内容是什么","和三体类似的电视剧还有哪些"]}}}
使用video search and analysis 工具进行视频深度理解并回答用户问题:
{"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"analyze requirement"}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"tool call","payload":{"param":{"search_requests":[{"query":"《三体》电视剧中叶文洁为什么发信号","dataset_id":"106266859"}]},"tool_name":"video search and analysis"}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"get results","payload":{"result":[{"content_id":"900026","my_title":"三体第二十六集","video_url":["http://xxxx.mp4"]},{"content_id":"900024","my_title":"三体第二十四集","video_url":["http://xxxx.mp4"]},{"content_id":"900023","my_title":"三体第二十三集","video_url":["http://xxxx.mp4"]},{"content_id":"900012","my_title":"三体第十二集","video_url":["http://xxxx.mp4"]},{"content_id":"900019","my_title":"三体第十九集","video_url":["http://xxxx.mp4"]},{"content_id":"900018","my_title":"三体第十八集","video_url":["http://xxxx.mp4"]},{"content_id":"900027","my_title":"三体第二十七集","video_url":["http://xxxx.mp4"]},{"content_id":"900025","my_title":"三体第二十五集","video_url":["http://xxxx.mp4"]},{"content_id":"900015","my_title":"三体第十五集","video_url":["http://xxxx.mp4"]},{"content_id":"900017","my_title":"三体第十七集","video_url":["http://xxxx.mp4"]},{"content_id":"900014","my_title":"三体第十四集","video_url":["http://xxxx.mp4"]},{"content_id":"900011","my_title":"三体第十一集","video_url":["http://xxxx.mp4"]}],"type":"video"}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"payload":{"video_deep_answer":{"106266859":{"related_video":{"content_id":"9000","content_type":"collection","field_bool":true,"field_float":0.6595271825790405,"field_int":399182820,"field_list_int":[492539563,-1520434021,-1156837932,1589852783,-1987513386],"field_string":"rebecca_-4324201100363761777","my_title":"三体","video_url":null}}}}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"analyze results"}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"step_info":{"step":"reply"}}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"剧中"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"虽"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"未"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"直接"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"说明"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":",但"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"可"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"推测"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"叶"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"文"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"洁"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"经历"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"家庭"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"变故"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"、"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"社会"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"动荡"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"等"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":","}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"对"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"人类"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"失望"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":","}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"希望"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"借助"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"三体"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"文明"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"改变"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"人类"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":","}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"所以"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"向"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"宇宙"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"发出"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"content":"信号"}} {"request_id":"e86f1ec7-1331-4f96-a412-8407944fc251","result":{"payload":{"video_deep_answer":{"106266859":{"highlights":[{"content_id":"900012","generated_title":"三体第十二集","video_title":"三体第十二集","snippets":[{"start_timestamp":0,"end_timestamp":92,"summary":"讨论叶文洁相关线索","cover":"tos-vod-cn-v-b5f34c0039f7952d/dd61e429c12a40958c50a60aad51514c"},{"start_timestamp":92,"end_timestamp":188,"summary":"关注叶文洁多重关联","cover":"tos-vod-cn-v-b5f34c0039f7952d/e2a5b6fbdc054e20bc4fad73789212fd"}]},{"content_id":"900017","generated_title":"三体第十七集","video_title":"三体第十七集","snippets":[{"start_timestamp":0,"end_timestamp":24,"summary":"提及怀疑叶文洁","cover":"tos-vod-cn-v-b5f34c0039f7952d/307de61b8b3f4e609f672674111b5e39"}]}]}}}}}
本接口调用失败的返回结构和参数释义请参见返回结构文档。
本接口错误码请参见公共错误码文档。