Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
在本快速入门中,你将使用 Azure 门户中的导入数据(新建)向导来开始集成向量化操作。 向导将您的内容分块,并调用嵌入模型,在索引和查询时对这些区块进行向量化处理。
本快速入门使用来自 azure-search-sample-data 存储库中的基于文本的 PDF 和简单图像。 但是,你可以使用不同的文件,这样仍然可以完成本快速入门。
小窍门
有图像丰富的文档? 请参阅快速入门:在Azure门户中实现多模式搜索以提取、存储和搜索图像以及文本。
先决条件
具有活动订阅的Azure帐户。 创建试用版订阅。
Azure AI Search service。 对于托管标识支持和更高的限制,建议使用基本层或更高层。
熟悉向导。 请参阅 Azure portal 中的导入数据向导。
支持的数据源
向导支持多个 Azure 数据源。 但是,本快速入门仅介绍处理整个文件的数据源,下表对此进行介绍。
| 支持的数据源 | 说明 |
|---|---|
| Azure Blob 存储 | 此数据源适用于 Blob 和表。 必须使用标准性能(常规用途 v2)帐户。 访问层级可以是热层、温层或冷层。 |
| Azure Data Lake Storage (ADLS) Gen2 | 这是启用了分层命名空间的Azure Storage帐户。 若要确认您拥有 Data Lake Storage,请检查 Properties 选项卡上的 Overview 页。
|
支持的嵌入模型
门户支持以下用于集成向量化的嵌入模型。 稍后部分提供了部署说明。
| 供应商 | 支持的模型 |
|---|---|
| 在 Foundry 模型资源中的 Azure OpenAI1、2 | 对于文本: text-embedding-ada-002 文本嵌入-3-小型 文本嵌入-3-大规模 (text-embedding-3-large) |
| Azure AI services 多服务资源 | 对于文本和图像:Azure AI Vision多模态4 |
1 Azure OpenAI 资源的终结点必须具有自定义子域名,例如 https://my-unique-name.openai.azure.com。 如果在 Azure portal 中创建资源,则此子域在资源设置过程中自动生成。
2 个 Azure OpenAI 资源(具有访问嵌入模型的权限)在 Foundry 门户 中创建的不受支持。 必须在Azure portal中创建 Azure OpenAI 资源。
4 出于计费目的,必须将您的 Foundry 资源附加到 Azure AI Search 服务中的技能集。 除非使用 无键连接(预览版) 创建技能集,否则这两个资源必须位于同一区域。
公共终结点要求
对于快速入门,上述所有资源都必须启用公共访问权限,以便 Azure 门户节点可以访问它们。 否则,向导将失败。 运行向导后,你可以为集成组件启用防火墙和专用终结点以确保安全。 有关详细信息,请参阅导入向导中的安全连接。
如果专用终结点已存在并且你无法禁用它们,则另一种选择是在虚拟机上从脚本或程序运行相应的端到端流。 虚拟机必须与专用终结点位于同一虚拟网络。 下面是用于集成矢量化的 Python 代码示例。 同一GitHub存储库具有其他编程语言的示例。
配置访问权限
在开始之前,请确保你有权访问内容和操作。 本快速入门指南使用 Microsoft Entra ID 进行身份验证,并通过基于角色的访问来进行授权。 你必须是 所有者 或 用户访问管理员 才能分配角色。 如果角色设置不可行,请改用基于密钥的身份验证方式。
所需角色
Azure AI Search提供矢量搜索管道。 为您和搜索服务配置访问权限,以便读取数据、运行管道,并与其他 Azure 资源进行交互。
在 Azure AI 搜索服务中:
将以下角色分配给自己。
搜索服务贡献者
搜索索引数据参与者
搜索索引数据读取者
条件角色
以下选项卡涵盖所有与向导兼容的矢量搜索资源。 仅选择应用于所选 数据源 和 嵌入模型的选项卡。
Azure Blob Storage和Azure Data Lake Storage Gen2要求搜索服务对存储容器具有读取访问权限。
在Azure Storage帐户上:
- 将 存储 Blob 数据读取器 分配给您的搜索服务的托管身份。
注意事项
如果因为选项不可用(例如,不能选择数据源或嵌入模型)而无法继续完成向导操作,请重新访问角色分配。 错误消息显示模型或部署不存在,但实际原因是搜索服务无权访问它们。
检查可用空间
如果从免费服务开始,则限制为 3 个索引、数据源、技能集和索引器。 基本层级的限制为 15。 在本快速入门中,我们会创建每种对象各一个,因此开始之前,请确保您有足够的空间来放置额外的物品。
准备示例数据
在本部分中,为所选 数据源准备示例数据。
准备嵌入模型
注意事项
如果使用 Azure Vision,请跳过此步骤。 多模式嵌入内置于多服务帐户中,不需要模型部署。
该向导支持Azure OpenAI 和 Microsoft Foundry 模型目录的多个嵌入模型。 若要部署所选 嵌入模型所需的模型,请参阅 Foundry 门户中的“部署Microsoft Foundry 模型”。
启动向导
登录到 Azure portal 并选择Azure AI Search service。
在“概述”页上,选择“导入数据”(新)。
选择数据源:Azure Blob Storage、ADLS Gen2 或 OneLake。
选择 RAG。
运行向导
向导将引导你完成多个配置步骤。 本部分按顺序介绍每个步骤。
连接到数据库
在此步骤中,将Azure AI Search连接到所选数据源进行内容引入和索引编制。
Azure Blob 存储
在连接到您的数据页上,选择您的Azure订阅。
选择存储帐户和容器以提供示例数据。
如果在 准备示例数据中启用了软删除并添加了自定义元数据,请选中“ 启用删除跟踪 ”复选框。
在后续的索引运行时,搜索索引将被更新,以移除基于 Azure Storage 上被软删除的 blob 的任何搜索文档。
Blob 支持本机 Blob 软删除或使用自定义元数据的软删除。
如果为 blob 配置了使用软删除,请提供元数据属性名称/值对。 我们推荐IsDeleted。 如果在 Blob 上将 IsDeleted 设置为 true,则在下一次索引器运行时,索引器会删除对应的搜索文档。
如果未满足要求,向导不会检查 Azure Storage 是否存在有效设置,也不会引发错误。 相反,删除检测不起作用,随着时间的推移,搜索索引可能会收集孤立文档。
选中“ 使用托管标识进行身份验证 ”复选框。 将标识类型保留为 系统分配。
选择下一步。
在连接到您的数据页上,选择您的Azure订阅。
选择存储帐户和容器以提供示例数据。
如果在 准备示例数据中启用了软删除并添加了自定义元数据,请选中“ 启用删除跟踪 ”复选框。
在后续的索引运行时,搜索索引将被更新,以移除基于 Azure Storage 上被软删除的 blob 的任何搜索文档。
Azure AI Search 上的 ADLS Gen2 索引器仅支持通过自定义元数据进行软删除。
请提供你创建的用于检测删除的元数据属性。 我们推荐IsDeleted。 如果在 Blob 上将 IsDeleted 设置为 true,则在下一次索引器运行时,索引器会删除对应的搜索文档。
如果未满足要求,向导不会检查 Azure Storage 是否存在有效设置,也不会引发错误。 相反,删除检测不起作用,随着时间的推移,搜索索引可能会收集孤立文档。
选中“ 使用托管标识进行身份验证 ”复选框。 将标识类型保留为 系统分配。
选择下一步。
矢量化文本
在此步骤中,向导使用您选择的 嵌入模型 将分块数据进行向量化处理。 分块功能是内置的,并且不可配置。 有效设置包括:
"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 500,
"maximumPagesToTake": 0, #unlimited
"unit": "characters"
在 Vectorize 文本页上,为类型选择 Azure OpenAI。
选择Azure订阅。
选择Azure OpenAI 资源,然后选择在 Prepare 嵌入模型中部署的模型。
对于身份验证类型,请选择 “系统分配的标识”。
选中相应复选框以确认使用这些资源的计费影响。
选择下一步。
矢量化并扩充图像
健康计划 PDF 包含公司徽标,除此之外,没有图像。 如果使用示例文档,则可以跳过此步骤。
但是,如果内容包含有用的图像,可以采用以下一种或两种方式来应用 AI:
使用Microsoft Foundry 模型目录或 Azure 视觉多模式嵌入 API(通过多服务帐户)提供的图像嵌入模型来向量化图像。
使用光学字符识别(OCR)从图像中提取文本。 此选项调用 OCR 技能。
在 Vectorize 和扩充图像 页上,选中 “矢量化图像 ”复选框。
对于类型,请选择模型提供程序: Foundry Hub 目录模型 或 AI 视觉矢量化。
如果 Azure Vision 不可用,请确保 search service 和 Foundry 资源都位于支持 Azure Vision 多模式 API 的 区域 中。
选择Azure订阅、资源和嵌入模型部署(如果适用)。
对于身份验证类型,如果不使用基于中心的项目,请选择系统分配的身份。 否则,请将其保留为 API 密钥。
选中相应复选框以确认使用这些资源的计费影响。
选择下一步。
添加语义排名
在“高级设置”页上,可以选择添加语义排名,以在查询执行结束时将结果重新排名。 重新排名会将在语义方面最相关的匹配项提升到顶部。
映射新字段
在 “高级设置” 页上,可以选择添加新字段,假设数据源提供在第一次传递时未选取的元数据或字段。 默认情况下,向导将生成下表中所述的字段。
| 字段 | 适用于 | 说明 |
|---|---|---|
| chunk_id | 文本和图像矢量 | 生成的字符串字段。 可搜索、可检索和可排序。 这是索引的关键文档。 |
| parent_id | 文本向量 | 生成的字符串字段。 可检索和筛选。 标识区块来源的父文档。 |
| 片段 | 文本和图像矢量 | 字符串字段。 数据区块的易于阅读版本。 可搜索和可检索,但不可筛选、不可分面、不可排序。 |
| 标题 | 文本和图像矢量 | 字符串字段。 易于阅读的文档标题、页标题或页码。 可搜索和可检索,但不可筛选、不可分面、不可排序。 |
| 文本向量 | 文本向量 | Collection(Edm.single)。 区块的矢量表示。 可搜索和可检索,但不可筛选、不可分面、不可排序。 |
无法修改生成的字段或它们的属性,但如果数据源提供了新字段,则可以添加新字段。 例如,Azure Blob Storage提供元数据字段的集合。
向索引架构添加字段:
在 “高级设置” 页上的 “索引”字段下,选择“ 预览”和“编辑”。
选择添加字段。
从可用字段中选择源字段,输入索引的字段名称,并接受默认数据类型(或替代)。
如果要将架构还原到其原始版本,请选择“ 重置”。
该步骤的要点:
索引架构为分块数据提供向量字段和非函数字段。
文档分析模式会创建区块(每个区块一个搜索文档)。
安排索引编制
对于基础数据不稳定的数据源,可以 计划索引 以在特定时间间隔或特定日期和时间捕获更改。
若要计划索引,请执行以下操作:
完成该向导
最后一步是查看配置并创建用于矢量搜索的必要对象。 如有必要,请返回到向导中的上一页以调整配置。
若要完成向导,请执行以下操作:
在 “审阅和创建 ”页上,为向导创建的对象指定前缀。 通用的前缀有助于保持有序。
选择创建。
向导创建的对象
当向导完成配置时,它会创建以下对象:
| 对象 | 说明 |
|---|---|
| 数据源 | 表示与所选数据源的连接。 |
| 索引 | 包含向量字段、向量器、矢量配置文件和向量算法。 无法在向导工作流期间修改默认索引。 索引符合 最新的预览版 REST API ,以便可以使用预览功能。 |
| 技能集 | 包含以下技能和配置:
|
| Indexer | 使用字段映射和输出字段映射(如果适用)驱动索引管道。 |
小窍门
向导创建的对象具有可配置的 JSON 定义。 若要查看或修改这些定义,请从左窗格中选择 “搜索管理 ”,可在其中查看索引、索引器、数据源和技能集。
检查结果
搜索资源管理器接受文本字符串作为输入,然后将文本矢量化以执行矢量查询。
查询矢量索引:
在Azure portal中,转到 Search Management>Indexes,然后选择索引。
选择 “查询”选项,然后选择“ 隐藏搜索结果中的矢量值”。 此步骤使结果更具可读性。
在 “视图 ”菜单中,选择 JSON 视图 ,以便可以在向量查询参数中
text输入矢量查询的文本。默认查询为空搜索(
"*"),但包含返回数字匹配项的参数。 这是一种并行运行文本和矢量查询的混合查询。 它还包括语义排名,并通过select语句指定要在结果中返回哪些字段。{ "search": "*", "count": true, "vectorQueries": [ { "kind": "text", "text": "*", "fields": "text_vector,image_vector" } ], "queryType": "semantic", "semanticConfiguration": "my-demo-semantic-configuration", "captions": "extractive", "answers": "extractive|count-3", "queryLanguage": "en-us", "select": "chunk_id,text_parent_id,chunk,title,image_parent_id" }将这两个星号 (
*) 占位符替换为与健康计划相关的问题,例如Which plan has the lowest deductible?。{ "search": "Which plan has the lowest deductible?", "count": true, "vectorQueries": [ { "kind": "text", "text": "Which plan has the lowest deductible?", "fields": "text_vector,image_vector" } ], "queryType": "semantic", "semanticConfiguration": "my-demo-semantic-configuration", "captions": "extractive", "answers": "extractive|count-3", "queryLanguage": "en-us", "select": "chunk_id,text_parent_id,chunk,title" }若要运行查询,请选择“ 搜索”。
每个文档都是原始 PDF 的一个区块。
title字段显示区块来自哪个 PDF。 每个chunk都很长。 你可以将其中一个复制并粘贴到文本编辑器中,以读取整个值。若要查看特定文档中的所有区块,请为特定 PDF 的
title_parent_id字段添加筛选器。 可以检查索引的“ 字段 ”选项卡,确认该字段可筛选。{ "select": "chunk_id,text_parent_id,chunk,title", "filter": "text_parent_id eq 'aHR0cHM6Ly9oZWlkaXN0c3RvcmFnZWRlbW9lYXN0dXMuYmxvYi5jb3JlLndpbmRvd3MubmV0L2hlYWx0aC1wbGFuLXBkZnMvTm9ydGh3aW5kX1N0YW5kYXJkX0JlbmVmaXRzX0RldGFpbHMucGRm0'", "count": true, "vectorQueries": [ { "kind": "text", "text": "*", "k": 5, "fields": "text_vector" } ] }
清理资源
在您自己的订阅计划中工作时,最好通过删除不再需要的资源来完成项目。 持续运行的资源可能会产生费用。
在 Azure 门户中,从左窗格中选择 “所有资源 ”或 “资源组 ”以查找和管理资源。 可以单独删除资源,也可以删除资源组以一次性删除所有资源。
下一步
本快速入门介绍了 导入数据(新) 向导,该向导创建用于集成向量化所需的所有对象。 若要详细浏览每个步骤,请参阅 在 Azure AI Search中设置集成向量化。