Compartir a través de

什么是知识源?

注释

此功能目前处于公开预览状态。 此预览版未随附服务级别协议,建议不要用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅适用于 Azure 预览版的补充使用条款

知识源指定用于代理检索的内容。 它封装了一个可以由外部数据源填充的搜索索引,或通过直接连接到必应或 SharePoint 等远程源来进行查询。 知识源是知识库中的必需定义。

  • 在搜索服务上将知识源创建为顶级资源。 每个知识源都指向一个数据结构,即 满足代理检索条件 的搜索索引或受支持的外部资源。

  • 引用知识库中的一个或多个知识源。 在代理检索管道中,可以在单个请求中针对多个知识源进行查询。 为每个知识源生成子查询。 检索响应中返回最匹配的结果。

  • 对于某些知识源,可以使用知识源定义生成可用于代理检索的完整索引器管道(数据源、技能组、索引器和索引)。 知识源中的信息用于生成所有对象,包括填充索引、分块索引和可搜索索引,而不是手动创建多个对象。

在创建知识库之前,请确保至少有一个知识库。 知识源和知识库的完整规范位于 预览版 REST API 参考中。

使用知识源

  • 创建路径:首先创建知识源,然后创建知识库。

  • 删除路径:更新或删除知识库以删除对知识库的引用,然后最后删除知识库。

  • 知识源、其索引和知识库必须全部存在于同一搜索服务上。 外部内容可通过公共互联网(Bing)或 Azure 租户(远程 SharePoint)进行访问。

支持的知识来源

下面是可在此预览版中创建的知识来源:

创建知识源

必须具有 搜索服务参与者 权限 才能在搜索服务上创建对象。 如果使用创建索引器管道的知识源,则还需要 搜索索引数据参与者 权限才能加载索引。 或者,可以使用 API 管理密钥 而不是角色。

可以使用 REST API 或 Azure SDK 预览包来创建知识源。 Azure 门户支持可用于选择知识源。 以下链接提供有关创建知识源的说明:

创建知识源后,可以在知识库中引用它。

使用知识源

知识库上的属性确定使用哪些知识源。

知识库使用 检索作 将查询发送到知识源中指定的索引。 在检索操作中,可以在检索时覆盖某些知识库和源的默认设置。

同时使用多个知识来源

如果有多个知识来源,请设置以下属性,以便将查询规划偏向特定的知识来源。

  • 设置 alwaysQuerySource 会强制查询规划始终包含知识来源。
  • 设置 retrievalInstructions 会提供包含或排除知识来源的指导。

检索指令作为用户定义的提示发送到用于查询规划的大型语言模型 (LLM)。 当你有多个知识来源,并且想要提供有关何时使用每个知识来源的指导时,此提示非常有用。 例如,如果你关于产品信息、职位发布和技术支持具有单独的索引,检索说明可能会显示“仅当问题有关职位申请时,才使用职位索引”。

alwaysQuerySource 属性会替代 retrievalInstructions。 提供检索说明时,将 alwaysQuerySource 设置为 false。

使用检索推理工作来控制 LLM 使用情况

并非所有解决方案都受益于 LLM 查询规划和执行。 如果简单性和速度的优势超过了 LLM 查询规划和上下文优化的益处,则可以从管道中省略 LLM。

检索推理过程决定了检索操作所需的处理级别。 有关详细信息,请参阅 设置检索推理工作

注释

在上一个预览版中如果使用过 attemptFastPath,现在该方法已被替换为将 retrievalReasoningEffort 设置为 minimal