搜索
首页科技周边人工智能构建 LLM 应用程序:利用 Azure 认知服务的矢量搜索功能

作者 | Simon Bisson

策划 | Ethan

Microsoft 的认知搜索 API 现在提供矢量搜索即服务,可与 Azure OpenAI 等中的大型语言模型一起使用。

语义核心、TypeChat和LangChain等工具使得围绕Azure OpenAI等生成式AI技术构建应用程序成为可能。这是因为它们允许对底层大语言模型(LLM)施加约束,将其用作构建和运行自然语言界面的工具

从本质上讲,LLM 是一种用于导航语义空间的工具,其中深度神经网络可以预测从初始提示开始的标记链中的下一个音节。如果提示是开放式的,LLM 可能会超出其输入范围,产生看似合理但实际上完全是无稽之谈的内容。

正如大家倾向于信任搜索引擎的输出一样,我们也倾向于信任LLM的输出,因为我们将它们视为熟悉技术的另一个方面。但是,使用来自维基百科、Stack Overflow 和 Reddit 等网站的可信数据来训练大型语言模型并不能传达对内容的理解;它只是赋予生成文本的能力,该文本遵循与这些来源中的文本相同的模式。有时输出可能是正确的,但有时却是错误的。

我们如何避免大型语言模型的错误和无意义的输出,并确保我们的用户获得准确且合理的查询答案?

1、限制用语义记忆约束大模型

我们需要做的是限制LLM,确保它只从更小的数据集生成文本。这是Microsoft基于LLM的新开发堆栈的用武之地。它提供了必要的工具来控制模型并防止其产生错误

你可以通过使用 TypeChat 之类的工具来强制使用特定的输出格式,或者使用 Semantic Kernel 之类的编排管道来处理其他可信信息源,从而有效地将模型“root”在已知的语义空间中,从而约束 LLM。在这里,LLM 可以做它擅长的事情,总结构建的提示并根据该提示生成文本,而不会超限(或至少显着减少发生超限的可能性)。

微软所说的“语义记忆”是最后一种方法的基础。语义记忆使用向量搜索来提供提示,可用于提供 LLM 的事实输出。矢量数据库管理初始提示的上下文,矢量搜索查找与初始用户查询匹配的存储数据,LLM 根据该数据生成文本。在Bing Chat中看到这种方法的实际应用,它使用Bing的本机矢量搜索工具来构建从其搜索数据库中获取的答案

语义记忆使得矢量数据库和矢量搜索成为提供基于LLM的应用程序的手段。您可以选择使用数量不断增加的开源矢量数据库之一,或者将矢量索引添加到您熟悉的SQL和NoSQL数据库中。一款看起来特别有用的新产品扩展了Azure认知搜索,为数据添加了向量索引,并提供了用于查询该索引的新API

2、将矢量索引添加到 Azure 认知搜索

Azure 认知搜索是建立在Microsoft自己的搜索工具基础上的。它提供了熟悉的Lucene查询和自己的自然语言查询工具的组合。Azure 认知搜索是一个软件即服务平台,可以托管私有数据,并使用认知服务API来访问内容。最近,Microsoft还添加了对构建和使用向量索引的支持,这使得你可以使用相似性搜索对数据中的相关结果进行排名,并在基于AI的应用程序中使用它们。这使得Azure 认知搜索成为使用Semantic Kernel和Azure OpenAI构建的Azure托管LLM应用程序的理想工具,并且还提供了用于C#和Python的认知搜索的语义内核插件

与其他 Azure 服务一样,Azure 认知搜索是一项托管服务,可与其他 Azure 服务配合使用。它允许你在各种 Azure 存储服务中进行索引和搜索,托管文本、图像、音频和视频。数据存储在多个区域,提供高可用性并减少延迟和响应时间。此外,对于企业应用程序,你可以使用 Microsoft Entra ID(Azure Active Directory 的新名称)来控制对私有数据的访问

3、为内容生成和存储嵌入向量

需要注意的是,Azure 认知搜索是一项“自带嵌入向量”服务。认知搜索不会为您生成所需的矢量嵌入,因此您需要使用 Azure OpenAI 或 OpenAI embedding API 来为内容创建嵌入。这可能需要将大文件分块处理,以确保您在服务的令牌限制内。在需要时,请准备创建新表来索引向量数据

在 Azure 认知搜索中,矢量搜索使用最近邻模型返回与原始查询相似的文档,数量由用户选择。这个过程通过使用原始查询的向量嵌入来调用向量索引,并从数据库中返回相似的向量和索引内容,以供 LLM 提示准备使用

微软使用这种矢量存储作为Azure机器学习的检索增强生成(RAG)设计模式的一部分,并与其提示流工具配合使用。RAG利用认知搜索中的向量索引来构建构成LLM提示基础的上下文。这为您提供了一种构建和使用向量索引的低代码方法,例如设置查询返回的相似文档的数量

4、Azure 认知搜索中的矢量搜索入门

使用 Azure 认知搜索进行矢量查询非常简单。首先在同一区域中为 Azure OpenAI 和认知搜索创建资源。这将允许你以最小的延迟加载带有嵌入的搜索索引。你需要调用 Azure OpenAI API 和认知搜索 API 来加载索引,因此最好通过添加管理重试的代码来确保代码可以响应服务中任何可能的速率限制为你。当你使用服务 API 时,你应该使用异步调用来生成嵌入和加载索引。

向量作为向量字段存储在搜索索引中,其中向量是具有维度的浮点数。这些向量通过分层可导航小世界邻近图进行映射,该图将向量分类到相似向量的邻域中,从而加快了搜索向量索引的实际过程。

在定义了矢量搜索的索引架构之后,你可以将数据加载到认知搜索的索引中。需要注意的是,数据可能与多个向量相关联。举个例子,如果你使用认知搜索来托管公司文档,你可能会有一个用于关键文档元数据术语和文档内容的单独向量。数据集必须以JSON文档的形式存储,这样可以简化使用结果来组合提示上下文的过程。索引不需要包含源文档,因为它支持使用最常见的Azure存储选项

在运行查询之前,你需要首先使用查询正文调用你选择的嵌入模型。这样会返回一个多维向量,你可以用它来搜索你选择的索引。当调用矢量搜索API时,请指定目标矢量索引、所需的匹配项数量以及索引中相关的文本字段。选择适当的相似性度量对查询非常有帮助,其中最常用的是余弦度量

5、超越简单的文本向量

Azure 认知搜索的矢量功能不仅仅是匹配文本。认知搜索能够与多语言嵌入配合使用,以支持跨多种语言的文档搜索。你也可以使用更复杂的 API。例如,你可以在混合搜索中混合使用 Bing 语义搜索工具,以提供更准确的结果,从而提高 LLM 支持的应用程序的输出质量。

微软正在迅速将其用于构建自己的基于GPT-4的Bing搜索引擎以及各种Copilot的工具和技术产品化。Semantic Kernel和Azure AI Studio的提示流等编排引擎是Microsoft使用大型语言模型的核心方法。现在这些基础已经奠定,我们看到该公司推出了更多必要的支持技术。矢量搜索和矢量索引是提供准确响应的关键。通过构建熟悉的工具来提供这些服务,微软将帮助我们将成本和学习曲线降至最低

以上是构建 LLM 应用程序:利用 Azure 认知服务的矢量搜索功能的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
本地使用Groq Llama 3 70B的逐步指南本地使用Groq Llama 3 70B的逐步指南Jun 10, 2024 am 09:16 AM

译者|布加迪审校|重楼本文介绍了如何使用GroqLPU推理引擎在JanAI和VSCode中生成超快速响应。每个人都致力于构建更好的大语言模型(LLM),例如Groq专注于AI的基础设施方面。这些大模型的快速响应是确保这些大模型更快捷地响应的关键。本教程将介绍GroqLPU解析引擎以及如何在笔记本电脑上使用API和JanAI本地访问它。本文还将把它整合到VSCode中,以帮助我们生成代码、重构代码、输入文档并生成测试单元。本文将免费创建我们自己的人工智能编程助手。GroqLPU推理引擎简介Groq

加州理工华人用AI颠覆数学证明!提速5倍震惊陶哲轩,80%数学步骤全自动化加州理工华人用AI颠覆数学证明!提速5倍震惊陶哲轩,80%数学步骤全自动化Apr 23, 2024 pm 03:01 PM

LeanCopilot,让陶哲轩等众多数学家赞不绝口的这个形式化数学工具,又有超强进化了?就在刚刚,加州理工教授AnimaAnandkumar宣布,团队发布了LeanCopilot论文的扩展版本,并且更新了代码库。图片论文地址:https://arxiv.org/pdf/2404.12534.pdf最新实验表明,这个Copilot工具,可以自动化80%以上的数学证明步骤了!这个纪录,比以前的基线aesop还要好2.3倍。并且,和以前一样,它在MIT许可下是开源的。图片他是一位华人小哥宋沛洋,他是

从“人+RPA”到“人+生成式AI+RPA”,LLM如何影响RPA人机交互?从“人+RPA”到“人+生成式AI+RPA”,LLM如何影响RPA人机交互?Jun 05, 2023 pm 12:30 PM

图片来源@视觉中国文|王吉伟从“人+RPA”到“人+生成式AI+RPA”,LLM如何影响RPA人机交互?换个角度,从人机交互看LLM如何影响RPA?影响程序开发与流程自动化人机交互的RPA,现在也要被LLM改变了?LLM如何影响人机交互?生成式AI怎么改变RPA人机交互?一文看明白:大模型时代来临,基于LLM的生成式AI正在快速变革RPA人机交互;生成式AI重新定义人机交互,LLM正在影响RPA软件架构变迁。如果问RPA对程序开发以及自动化有哪些贡献,其中一个答案便是它改变了人机交互(HCI,h

Plaud launches NotePin AI wearable recorder for $169Plaud launches NotePin AI wearable recorder for $169Aug 29, 2024 pm 02:37 PM

Plaud, the company behind the Plaud Note AI Voice Recorder (available on Amazon for $159), has announced a new product. Dubbed the NotePin, the device is described as an AI memory capsule, and like the Humane AI Pin, this is wearable. The NotePin is

七个很酷的GenAI & LLM技术性面试问题七个很酷的GenAI & LLM技术性面试问题Jun 07, 2024 am 10:06 AM

想了解更多AIGC的内容,请访问:51CTOAI.x社区https://www.51cto.com/aigc/译者|晶颜审校|重楼不同于互联网上随处可见的传统问题库,这些问题需要跳出常规思维。大语言模型(LLM)在数据科学、生成式人工智能(GenAI)和人工智能领域越来越重要。这些复杂的算法提升了人类的技能,并在诸多行业中推动了效率和创新性的提升,成为企业保持竞争力的关键。LLM的应用范围非常广泛,它可以用于自然语言处理、文本生成、语音识别和推荐系统等领域。通过学习大量的数据,LLM能够生成文本

知识图谱检索增强的GraphRAG(基于Neo4j代码实现)知识图谱检索增强的GraphRAG(基于Neo4j代码实现)Jun 12, 2024 am 10:32 AM

图检索增强生成(GraphRAG)正逐渐流行起来,成为传统向量搜索方法的有力补充。这种方法利用图数据库的结构化特性,将数据以节点和关系的形式组织起来,从而增强检索信息的深度和上下文关联性。图在表示和存储多样化且相互关联的信息方面具有天然优势,能够轻松捕捉不同数据类型间的复杂关系和属性。而向量数据库则处理这类结构化信息时则显得力不从心,它们更专注于处理高维向量表示的非结构化数据。在RAG应用中,结合结构化化的图数据和非结构化的文本向量搜索,可以让我们同时享受两者的优势,这也是本文将要探讨的内容。构

可视化FAISS矢量空间并调整RAG参数提高结果精度可视化FAISS矢量空间并调整RAG参数提高结果精度Mar 01, 2024 pm 09:16 PM

随着开源大型语言模型的性能不断提高,编写和分析代码、推荐、文本摘要和问答(QA)对的性能都有了很大的提高。但是当涉及到QA时,LLM通常会在未训练数据的相关的问题上有所欠缺,很多内部文件都保存在公司内部,以确保合规性、商业秘密或隐私。当查询这些文件时,会使得LLM产生幻觉,产生不相关、捏造或不一致的内容。一种处理这一挑战的可行技术是检索增强生成(RAG)。它涉及通过引用训练数据源之外的权威知识库来增强响应的过程,以提升生成的质量和准确性。RAG系统包括一个检索系统,用于从语料库中检索相关文档片段

Google AI announces Gemini 1.5 Pro and Gemma 2 for developersGoogle AI announces Gemini 1.5 Pro and Gemma 2 for developersJul 01, 2024 am 07:22 AM

Google AI has started to provide developers with access to extended context windows and cost-saving features, starting with the Gemini 1.5 Pro large language model (LLM). Previously available through a waitlist, the full 2 million token context windo

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),