Azure Machine Learning - 在 Azure 门户中创建AI搜索技能组

你将了解 Azure AI 搜索中的技能组如何通过添加光学字符识别 (OCR)、图像分析、语言检测、文本翻译和实体识别,在搜索索引中创建可搜索文本的内容。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

环境准备

开始之前,必须具备以下先决条件:

  • 具有活动订阅的 Azure 帐户。 免费创建帐户。

  • Azure AI 搜索。 [创建服务]或查找现有服务。 可以使用本快速入门的免费服务。

  • 具有 Blob 存储的 Azure 存储帐户。

设置数据

在以下步骤中,在 Azure 存储中设置 blob 容器以存储异类内容文件。

  1. 下载示例数据,其中包括不同类型的小型文件集。 解压缩文件。

  2. 使用 Azure 帐户登录到 Azure 门户。

  3. [创建 Azure 存储帐户]或[查找现有帐户]。

    • 选择 Azure AI 搜索所在的同一区域,以避免带宽费用。

    • 选择StorageV2(常规用途 V2)。

  4. 在 Azure 门户中,打开 Azure 存储页并创建容器。 可以使用默认的公共访问级别。

  5. 在容器中,选择“上传”以上传在第一个步骤中下载的示例文件。 请注意,内容类型非常广泛,包括无法以本机格式进行全文搜索的图像和应用程序文件。
    file

现在,你已准备好继续运行“导入数据”向导。

运行“导入数据”向导

  1. 使用 Azure 帐户登录到 Azure 门户。

  2. 查找搜索服务,并在“概述”页中,选择命令栏上的“导入数据”,通过四个步骤设置认知扩充。
    file

步骤 1:创建数据源

  1. 在“连接到数据”中,选择“Azure Blob 存储” 。

  2. 选择与存储帐户的现有连接,然后选择你创建的容器。 为数据源命名,并对余下的设置使用默认值。
    file
    继续转到下一页。

如果收到“从数据源检测索引架构时出错”,则说明支持向导的索引器无法连接到数据源。 数据源很可能具有安全保护。 尝试以下解决方案,然后重新运行向导。

步骤 2:添加认知技能

接下来,配置 AI 扩充来调用 OCR、图像分析和自然语言处理。

  1. 对于本快速入门,我们将使用免费的 Azure AI 服务资源。 示例数据包括 14 个文件,因此,Azure AI 服务免费提供的 20 个事务配额足以完成本快速入门。
    file
  2. 展开“添加扩充”,并做出六项选择。

启用 OCR,将图像分析技能添加到向导页。

选择实体识别(人员、组织和位置)和图像分析技能(标记、字幕)。

file
继续转到下一页。

步骤 3:配置索引

索引包含可搜索的内容,“导入数据”向导通常可以通过对数据源采样来创建架构。 在此步骤中查看生成的架构,并根据情况修改任何设置。 以下是为演示 Blob 数据集创建的默认架构。

在本快速入门中,向导能够很好地设置合理的默认值:

  • 默认字段基于现有 blob 的元数据属性,以及扩充输出的新字段(例如 peopleorganizationslocations)。 数据类型从元数据和数据采样推断。

  • 默认文档键是 metadata_storage_path(由于字段包含唯一值,因此选择了此键)。

  • 默认属性为可检索可搜索可搜索允许对字段进行全文搜索。 可检索意味着可以在结果中返回字段值。 向导假设你希望这些字段可检索且可搜索,因为它们是通过技能集创建的。 如果要在筛选表达式中使用字段,请选择“可筛选”。
    file
    将某个字段标记为 Retrievable 并不意味着该字段一定会出现在搜索结果中。 通过使用 $select 查询参数指定要包含的字段,可以控制搜索结果的构成。

继续转到下一页。

步骤 4:配置索引器

索引器驱动索引过程。 它指定数据源名称、目标索引和执行频率。 “导入数据”向导将创建多个对象,包括一个可以重置和重复运行的索引器。

  1. 在“索引器”页中,可以接受默认名称并选择“一次”来立即运行该索引器。
    file
  2. 选择“提交”以创建并同时运行索引器。

监视状态

与典型的基于文本的索引相比,认知技能索引编制需要花费更长的时间才能完成,OCR 和图像分析尤其如此。 若要监视进度,请转到“概述”页,然后选择页面中间的“索引器”。
file
若要查看有关执行状态的详细信息,请从列表中选择一个索引器,然后选择“成功”(或“失败”)以查看执行详细信息。

在此演示中,有一条警告:"Could not execute skill because one or more skill input was invalid."。该警告表示数据源中的 PNG 文件不向实体识别提供文本输入。 出现此警告是因为上游 OCR 技能无法识别图像中的任何文本,因此无法为下游实体识别技能提供文本输入。

警告在技能组执行中很常见。 随着你熟悉技能循环访问数据的方式,你可能开始发现规律并了解哪些警告是可以安全忽略的。

搜索浏览器中的查询

创建索引后,请在“搜索浏览器”中运行查询以返回结果。

  1. 在搜索服务仪表板页上,选择命令栏上的“搜索浏览器”。

  2. 选择顶部的“更改索引”,选择创建的索引。

  3. 输入要在其中查询索引的搜索字符串,例如 search=Satya Nadella&$select=people,organizations,locations&$count=true

随后会返回详细的 JSON 格式的结果,这些结果可能难以阅读,尤其是在大型文档中。 在此工具中搜索时,可以借鉴一些提示,其中包括以下技术:

  • 追加 $select 以限制结果中返回的字段。
  • 使用 CTRL-F 在 JSON 中搜索特定属性或术语。

查询字符串区分大小写,因此如果收到“未知字段”消息,请检查“字段”或“索引定义(JSON)”以验证名称和大小写。
file

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/191514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python程序员入门指南:就业前景

文章目录 标题Python程序员入门指南:就业前景Python 就业数据Python的就业前景SWOT分析法Python 就业分析 标题 Python程序员入门指南:就业前景 Python是一种流行的编程语言,它具有简洁、易读和灵活的特点。Python可以用于多种领域&#xff…

ganache部署智能合约报错VM Exception while processing transaction: invalid opcode

这是因为编译的字节码不正确,ganache和remix编译时需要选择相同的evm version 如下图所示: remix: ganache: 确保两者都选择london或者其他evm,只要确保EVM一致就可以正确编译并部署, 不会再出现VM Exception while processing…

分享一个国内可用的免费GPT4-AI提问AI绘画网站工具

一、前言 ChatGPT GPT4.0,Midjourney绘画,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。 然而,GPT-4对普…

LangChain 18 LangSmith监控评估Agent并创建对应的数据库

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

SSM框架(五):Maven进阶

文章目录 一、分模块开发1.1 分模块开发的意义1.2 步骤 二、依赖管理2.1 依赖传递2.2 可选依赖和排除依赖 三、继承与聚合3.1 聚合3.2 继承3.3 聚合和继承区别 四、属性4.1 pom文件的依赖使用属性4.2 资源文件使用属性 五、多环境开发六、跳过测试七、私服7.1 下载与使用7.2 私…

文件操作-IO

文件操作-IO 1.认识文件1.什么是文件2.文件路径 2.java中操作文件2.1 File类的用法 3.InputStream和OutputStream的用法 1.认识文件 1.什么是文件 文件是计算机系统中用来存储数据的基本单位。它是一种用于持久性存储数据的命名、有序的数据集合.计算机系统通过文件系统来组织…

gitlab高级功能之容器镜像仓库

今天给大家介绍一个gitlab的高级功能 - Container Registry,该功能可以实现docker镜像的仓库功能,将gitlab上的代码仓的代码通过docker构建后并推入到容器仓库中,好处就是无需再额外部署一套docker仓库。 文章目录 1. 参考文档2. Container R…

Linux 进程(三)

Linux进程状态的查看: 这是Linux内核源代码对于进程状态的定义: R运行状态(running): 并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列里。 S睡眠状态(sleeping): 意味着进程在…

openGauss学习笔记-138 openGauss 数据库运维-例行维护-检查时间一致性

文章目录 openGauss学习笔记-138 openGauss 数据库运维-例行维护-检查时间一致性138.1 操作步骤 openGauss学习笔记-138 openGauss 数据库运维-例行维护-检查时间一致性 数据库事务一致性通过逻辑时钟保证,与操作系统时间无关,但是系统时间不一致会导致…

18487.1 - 2015 电动汽车充电系统标准 第1部分 关键点梳理

一、部分知识介绍 1、连接方式 使用电缆和连接器将电动汽车接入电网(电源)的方法。 1.1、连接方式A 1.2、连接方式B 1.3、连接方式C 2、电动汽车控电设备 2.1、按照输出电压分类 1)交流 单相 220V,三相 380V. 2&#xff09…

【超全】React学习笔记 下:路由与Redux状态管理

React学习笔记 React系列笔记学习 上篇笔记地址:【超全】React学习笔记 上:基础使用与脚手架 中篇笔记地址:【超全】React学习笔记 中:进阶语法与原理机制 React路由概念与理解使用 1. 引入 React路由是构建单页面应用(SPA, Sin…

CSS 选择器优先级,!important 也会被覆盖?

目录 1,重要性2,专用性3,源代码顺序 CSS 属性值的计算过程中。其中第2步层叠冲突只是简单说明了下,这篇文章来详细介绍。 层叠冲突更广泛的被称为 CSS选择器优先级计算。 为什么叫层叠冲突,可以理解为 CSS 是 Cascadi…

基于 Python+flask 构建态势感知系统(附完整源码)

一、开发 一个基于linux的态势感知系统,基于python和flask框架开发,项目文件目录如下: admin -核心算法 charts -图表生成 model -类 app.py -主文件 config.py -配置文件 install.py -安装文件 二、安装 1、配置 数据库密码默认设…

redis单机版本安装

redis单机版本安装 1.redis单机版源码编译安装搭建(4.0示例) redis下载地址 https://redis.io/download redis源码编译 #!/bin/sh yum install -y wget gcc gcc-c make tar openssl openssl-devel cmakecd /usr/local/src wget http://download.redis.io/releases/redis-4…

华为杯研究生数学建模优秀参考论文(优秀论文参考2004-2022年)

一、背景介绍 中国研究生数学建模竞赛是一项面向在校研究生进行数学建模应用研究的学术竞赛活动,是广大在校研究生提高建立数学模型和运用互联网信息技术解决实际问题能力,培养科研创新精神和团队合作意识的大平台,大赛赞助单位为华为技术有限…

什么是Daily Scrum?

Daily Scrum(每日站会),Scrum Master要确保这个会在每天都会开。这个会的目的就是检查正在做的东西和方式是否有利于完成Sprint目的,并及时做出必要的调整。 每日站会一般只开15分钟,为了让事情更简单些,这…

无线物理层安全学习

文章目录 3.17到3.203.85到3.88 3.17到3.20 3.85到3.88

论文阅读——Img2LLM(cvpr2023)

arxiv:[2212.10846] From Images to Textual Prompts: Zero-shot VQA with Frozen Large Language Models (arxiv.org) 一、介绍 使用大语言模解决VQA任务的方法大概两种:multi-modal pretraining and language-mediated VQA,即多模态预训练…

进程的创建:fork()

引入 创建进程的方式我们已经学习了一个!在我们运行指令(或者运行我们自己写的可执行程序)的时候不就是创建了一个进程嘛?那个创建进程的方式称为指令级别的创建子进程! 那如果我们想要在代码中创建进程该怎么办呢? fork() for…

【算法通关村】链表基础经典问题解析

【算法通关村】链表基础&经典问题解析 一.什么是链表 链表是一种通过指针将多个节点串联在一起的线性结构,每一个节点(结点)都由两部分组成,一个是数据域(用来存储数据),一个是指针域&…