创建搜索查询

通过创建搜索查询操作,制作者可以捕捉用户输入的改写版本(通常包含对话历史记录),然后将其用于搜索或摘要等下游任务。 此重写的字符串为创建者提供了原始查询的结构化和澄清版本,他们可以重新利用该版本以适应其自定义逻辑。

此功能对于自定义搜索方案特别强大。 制作者可以完全控制查询如何与索引内容匹配、传递到外部系统或记录以进行分析。

随着助手从简单的问答机器人发展到量身定制的业务代理,重塑用户查询变得至关重要。 查询重写弥合了用户意图和特定域语言之间的差距,以实现更相关和更准确的结果。

何时使用创建搜索查询

要执行以下操作时,请使用创建搜索查询

推动自定义搜索体验

使用重写的查询字符串作为您自己的搜索逻辑的输入。 示例包括查询非 Microsoft API、筛选内部知识库或制作动态提示。

示例:将重写的查询输入自定义 SharePoint 或基于 SQL 的搜索系统。

增强与上下文的相关性

使用对话历史记录将模糊查询重写为更有针对性的查询。

示例:根据用户之前的问题,将“向我展示表单”转化为“员工入职申请表”。

强大的特定领域检索

定制重写的查询,以匹配组织对信息进行分类或编制索引的方式。

示例:添加部门、时限或用户角色等标签,使搜索查询更精确。

创建搜索查询的工作原理

在主题中添加一个节点,然后选择添加操作,再选择创建搜索查询,即可进入创建搜索查询对话框。

添加节点后创作区域的屏幕截图,突出显示“添加操作”选项并重点关注“创建搜索查询”。

创建搜索查询操作会重写用户输入的内容:

  • 原始输入

  • 任何相关的对话历史记录或上下文变量

输出,即经过清理和丰富的搜索字符串,作为变量返回,供下游逻辑使用。

创建搜索查询对话框截图。

它不仅适用于内置的助手搜索;它适用于您要启用的任何自定义行为。

用例示例:员工手册助手

用户可能会说:“告诉我有关休假政策的信息。”

代理通过以下方式扩充此请求:

  1. 休假类型

  2. 无论休假是为了他们自己还是其他人

  3. 他们想要的是当前策略还是历史策略

对话流(简化的 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 调用。

  • 记录以进行分析或调整。

  • 显示回给用户进行确认。