你当前正在访问 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 门户支持可用于选择知识源。 以下链接提供有关创建知识源的说明:
- 如何创建搜索索引知识源(包装现有索引)
- 如何创建 Blob 知识源(生成索引器管道)
- 如何创建 OneLake 知识源(生成索引器管道)
- 如何创建 SharePoint(索引化)知识源(生成索引器管道)
- 如何创建 SharePoint(远程)知识源(直接查询 SharePoint)
- 如何创建 Web 知识来源资源(连接到必应的公共终结点)
创建知识源后,可以在知识库中引用它。
使用知识源
知识源使用情况是显式控制的,例如在知识源定义上设置 alwaysQuery 时,或者在查询规划期间受选择逻辑的约束。 当使用低或中等检索推理工作时,就会进行查询规划。 为了尽量减少推理工作,知识库中列出的所有知识源都属于每个查询的范围。 对于低和中,知识库和 LLM 可以在查询时确定哪些知识源可能提供最佳搜索语料库。
知识源选择逻辑基于以下因素:
alwaysQuery是否已设置? 如果是,则始终在每个查询上使用知识源。知识源的
name。索引的
description,假设是一个有索引的知识源。在检索操作或知识库定义中指定的
retrievalInstructions提供指导,这些指导包括或排除知识源。 这类似于提示符。 你可以将简洁性、音调和格式指定为检索指令。outputMode也会影响知识库,从而影响查询输出和响应中的内容。
使用检索推理工作量来控制 LLM 使用情况
并非所有解决方案都受益于 LLM 查询规划和执行。 如果简易性和速度超过了 LLM 查询规划和上下文工程提供的好处,则可以指定最小的推理工作量,以防止在管道中进行 LLM 处理。
对于低级和中级,LLM 处理级别是一种平衡或最大化的方法,有助于提高相关性。 有关详细信息,请参阅 设置检索推理工作。
注释
在上一个预览版中如果使用过 attemptFastPath,现在该方法已被替换为将 retrievalReasoningEffort 设置为 minimal。