你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是知识源?

注释

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

知识源指定用于代理检索的内容。 它要么封装了一个由外部数据源填充的搜索索引,要么是一个与远程数据源(如 Bing 或 Sharepoint)直接查询的直接连接。 知识源是知识库中的必需定义。

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

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

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

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

使用知识源

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

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

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

支持的知识来源

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

种类 索引或远程
"searchIndex" API 包装现有索引。 已编入索引
"azureBlob" API 生成一个从 Blob 容器中拉取的索引生成管道。 已编入索引
"indexedOneLake" API 生成一个索引器管道,该管道从数据湖仓中提取数据。 已编入索引
"indexedSharePoint" API 生成从 SharePoint 网站拉取的索引器管道。 已编入索引
"remoteSharePoint" API 直接从 SharePoint 检索内容。 Remote
"webParameters" API 可从 Microsoft 必应检索实时基础设置数据。 Remote

索引知识源指向 Azure AI 搜索上的目标索引,查询执行是搜索服务上搜索引擎的本地操作。 关键字(全文搜索)、矢量和混合查询功能用于从索引知识源检索数据。

在查询时访问远程知识源。 代理检索引擎调用平台原生的检索 API(例如必应或 SharePoint 的 API)。

所有检索的内容(无论是索引内容还是远程内容)都会拉取到 Azure AI 搜索中的排名管道中,在 Azure AI 搜索中针对相关性、合并(假设多个查询)进行评分,并在检索响应中返回。

创建知识源

知识源创建为独立对象,然后在“knowledgeSources”数组知识库中指定。

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

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

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

使用知识源

知识源使用情况是显式控制的,例如在知识源定义上设置 alwaysQuery 时,或者在查询规划期间受选择逻辑的约束。 当使用低或中等检索推理工作时,就会进行查询规划。 为了尽量减少推理工作,知识库中列出的所有知识源都属于每个查询的范围。 对于低和中,知识库和 LLM 可以在查询时确定哪些知识源可能提供最佳搜索语料库。

知识源选择逻辑基于以下因素:

  • alwaysQuery 是否已设置? 如果是,则始终在每个查询上使用知识源。

  • 知识源的 name

  • 索引的 description,假设是一个有索引的知识源。

  • 检索操作知识库定义中指定的retrievalInstructions提供指导,这些指导包括或排除知识源。 这类似于提示符。 你可以将简洁性、音调和格式指定为检索指令。

  • outputMode 也会影响知识库,从而影响查询输出和响应中的内容。

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

并非所有解决方案都受益于 LLM 查询规划和执行。 如果简易性和速度超过了 LLM 查询规划和上下文工程提供的好处,则可以指定最小的推理工作量,以防止在管道中进行 LLM 处理。

对于低级和中级,LLM 处理级别是一种平衡或最大化的方法,有助于提高相关性。 有关详细信息,请参阅 设置检索推理工作

注释

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