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文章​​​​​​​。

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

相关推荐
时空节拍AI数字人12 小时前
“人工智能+文旅“政策密集出台,景区该怎么接?
人工智能·microsoft·百度·ai·aigc·语音识别
adinnet202617 小时前
多轮对话与上下文压缩:追问时模型怎么记住前面说的
数据库·microsoft
Sunny_GMF20 小时前
所见即所得编辑器原理实战:源码与渲染永不失真的三层一致性设计(Markdown/CodeMirror 装饰)
microsoft·编辑器·ai编程·harmonyos
Leo.yuan2 天前
帆软 Data Agent 技术实践白皮书:NL2BI 的可执行与可追溯分析链路
数据库·microsoft
天天讯通2 天前
一套可完整落在政务云内的呼叫中心集成方案
microsoft·政务
云表无代码开发2 天前
日本开发者彻底破防:中文太强了!换成英文直接裂开
大数据·服务器·人工智能·microsoft·信息可视化
续写烂尾3 天前
MK SD NAND(贴片式TF卡)替代Nor Flash:1Gb容量与256Mb Nor
算法·microsoft
WAKU3 天前
C#: 爸爸再爱我一回! 写在微软使用Rust重写GitHub Copilot之后的碎碎念
microsoft·rust·微软·c#·编程语言
可涵不会debug8 天前
LangChain 进阶之路:LangGraph 图工作流、有状态智能体完整入门教程
microsoft
Access开发易登软件11 天前
Access 复杂业务计算,SQL 写在 VBA 还是存储过程?
microsoft·vba·access·access开发