创建搜索查询

创建搜索查询 是一种主题级工具,您的代理可用于捕获用户输入的重写版本,并利用对话历史记录进行充实。 可以在下游任务(例如搜索或摘要)中使用重写查询。 此重写字符串为创建者提供了原始查询的结构化和阐明版本,你可以重新调整其用途,以适应代理的目的。

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

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

何时使用创建搜索查询

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

推动自定义搜索体验

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

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

增强与上下文的相关性

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

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

电力领域专用检索

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

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

创建搜索查询的工作原理

  1. 选择节点下的 “添加节点 ”图标,之后代理将执行自定义搜索。

  2. 选择 “添加工具”,然后选择 “创建搜索查询”。

    添加节点后屏幕截图,突出显示了“添加工具”选择并重点介绍“创建搜索查询”。

    画布上会显示 一个“创建搜索查询 ”节点。

    “创建搜索查询”工具基于以下代码重写用户的输入:

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

    该工具将清理和扩充的搜索字符串输出为变量,以便在下游逻辑中使用。

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

用例示例:员工手册助手

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

代理通过以下内容丰富此请求:

  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 调用。

  • 记录以进行分析或优化。

  • 返回给用户以便确认。