Azure - 尝试创建并使用一下Azure AI Search

1. 简单介绍

我们可以使用Azure AI Search作为向量的存储库,同时Azure AI Search也提供了keyword search, vector search和Hybrid search等功能。在Azure AI Search中有Index,Indexer, Skillset, Scale, Semantic Ranker等概念,具体的内容可以参考微软的mslearn文章

这边将尝试去创建一个Azure AI Search并以Rag的方式使用一下

  1. 在Azure portal 的Azure AI Foundry界面中,选择左侧的AI Search菜单,然后点击Create按钮,
  1. 在Create a search service界面中,选择subscription和pricing tier,同时设定search name,

note, 不同的pricing tier对应不同的capacity,费用也不同的。

  1. 最后在review界面中,点击create按钮,

4)最后创建成功

  1. 在Azure AI Search界面中,点击import data(new)按钮,
  1. 在Choose a data source界面中,选择Azure Blob Storage选项,
  1. 点击RAG选项,如下图所示,
  1. 在Connect to your data 界面中,选择Storage account和Blob container

note, 这边假定已经创建了一个Azure blob storage,用于存放resumes,

  1. 在Vectorize your text界面,选择Azure OpenAI service和embeding model,这边在Authentication type中选择的是API key,
  1. 下面的界面没有设置值,当前这边没有用的OCR等Azure AI Skillset,
  1. 在Advance settings中,选择Enable semantic ranker
  1. 在review and create界面中,点击Create按钮,
  1. 弹出如下界面,表示创建成功了,
  1. 在创建的Azure AI Search index 的 Fields界面中,发现有vector field 产生,
  1. 在Search explorer中,直接点击Search按钮,发现有内容返回

2.3 记录配置信息

创建好Azure AI Search之后,需要记录一下Azure AI Search对应的endpoint和key,

  1. Endpoint信息,

​​​​​​​

  1. key信息,

3. 制作Custom Engine Agent

3.1 创建项目

  1. 假定在VSCode中已经安装了Microsoft 365 Agents Toolkit,以前的名字是Teams Toolkit,
  1. 创建了一个Custom Engine Agent,
  1. 选择 Basic AI Chatbot,
  1. 选择Typescript语言,
  1. 配置Azure Open AI key, endpoint等信息
  1. 最后创建了一个Custom Agent,如下图所示,

7)定制项目并配置Azure AI Search的endpoint, key, index name, embeding model等信息,

3.2 运行项目

  1. 在VSCode的项目中,点击RUN AND DEBUG下拉框,选择Debug in Teams(Desktop)并运行,
  1. 启动项目的过程中会弹出下面的提示窗,点击Continue按钮,
  1. 在弹出的如下Teams App窗口中,点击Add按钮,
  1. 在下面的界面中,点击Open按钮,
  1. 最后输入想提问的问题,bot会通过Azure AI Search的vector search进行内容检索,并将检索结果提供给Azure Open AI作为上下文, 最后返回内容给bot同时bot返回内容给用户,如下图所示,

4. 总结

本文记录了一下创建Azure AI Search并以RAG的方式来使用Azure AI Search的过程。在别的Vector storage中也有和Azure AI Search对应的概念的,比如Qdrant中Collection对应的是AI Search中的Index,Payload对应的是Fields等。不过相对其他的RAG解决方案,Azure AI Search的可拓展性可能比较强一些,支持partion和replicas的两种拓展方式。更加详细的内容,还可以参考微软的mslearn文章​​​​​​​。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
千逐686 小时前
多物理场耦合气象可视化引擎:基于 Flutter for OpenHarmony 的实时风-湿-压交互流体系统
flutter·microsoft·交互
吹牛不交税6 小时前
安装Framework4.0时提示:Microsoft .NET Framework 4 已是此操作系统的一部分。不需要安装 .NET Framework
microsoft·.net
wfserial19 小时前
c#使用微软自带speech选择男声仍然是女声的一种原因
microsoft·c#·speech
Hello.Reader1 天前
Flink 对接 Azure Blob Storage / ADLS Gen2:wasb:// 与 abfs://(读写、Checkpoint、插件与认证)
flink·flask·azure
山岚的运维笔记1 天前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
凯子坚持 c1 天前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
穿过锁扣的风1 天前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
山岚的运维笔记2 天前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
鸽芷咕2 天前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
模型时代2 天前
Anthropic明确拒绝在Claude中加入广告功能
人工智能·microsoft