通过创建搜索查询操作,制作者可以捕捉用户输入的改写版本(通常包含对话历史记录),然后将其用于搜索或摘要等下游任务。 此重写的字符串为创建者提供了原始查询的结构化和澄清版本,他们可以重新利用该版本以适应其自定义逻辑。
此功能对于自定义搜索方案特别强大。 制作者可以完全控制查询如何与索引内容匹配、传递到外部系统或记录以进行分析。
随着助手从简单的问答机器人发展到量身定制的业务代理,重塑用户查询变得至关重要。 查询重写弥合了用户意图和特定域语言之间的差距,以实现更相关和更准确的结果。
何时使用创建搜索查询
要执行以下操作时,请使用创建搜索查询:
推动自定义搜索体验
使用重写的查询字符串作为您自己的搜索逻辑的输入。 示例包括查询非 Microsoft API、筛选内部知识库或制作动态提示。
示例:将重写的查询输入自定义 SharePoint 或基于 SQL 的搜索系统。
增强与上下文的相关性
使用对话历史记录将模糊查询重写为更有针对性的查询。
示例:根据用户之前的问题,将“向我展示表单”转化为“员工入职申请表”。
强大的特定领域检索
定制重写的查询,以匹配组织对信息进行分类或编制索引的方式。
示例:添加部门、时限或用户角色等标签,使搜索查询更精确。
创建搜索查询的工作原理
在主题中添加一个节点,然后选择添加操作,再选择创建搜索查询,即可进入创建搜索查询对话框。
创建搜索查询操作会重写用户输入的内容:
原始输入
任何相关的对话历史记录或上下文变量
输出,即经过清理和丰富的搜索字符串,作为变量返回,供下游逻辑使用。
它不仅适用于内置的助手搜索;它适用于您要启用的任何自定义行为。
用例示例:员工手册助手
用户可能会说:“告诉我有关休假政策的信息。”
代理通过以下方式扩充此请求:
休假类型
无论休假是为了他们自己还是其他人
他们想要的是当前策略还是历史策略
对话流(简化的 YAML 表示形式)
# Compose the custom search input
- kind: SetVariable
variable: Topic.SearchQueryInput
value: = "Leave policy: " & PlainText(Topic.LeaveType) &
If(Topic.ForSelf, "; for self", "; for someone else") &
"; version: " & PlainText(Topic.IsCurrentPolicy) &
"; original query: " & PlainText(Topic.UserOriginalInput)
# Generate a rewritten query using CreateSearchQuery
- kind: CreateSearchQuery
userInput: =Topic.SearchQueryInput
result: Topic.SearchQuery
# Use it in any way you want
- kind: CustomSearchOrAPI
input: =Topic.SearchQuery
最终重写的查询示例
休假政策:病假;本人;版本:当前;原始查询:我想了解病假信息
这个重写的字符串现在可以是:
传入自定义搜索引擎。
用于外部 API 调用。
记录以进行分析或调整。
显示回给用户进行确认。