当前位置: 首页 > article >正文

RAG和向量索引

为特定用例设计代理时需要确保语言模型已建立基础并使用与用户所需内容相关的事实信息。虽然语言模型针对大量数据进行了训练但它们可能无权访问你想要向用户提供的知识。 若要确保代理基于特定数据提供准确且特定于域的响应可使用检索增强生成 (RAG)。RAGRAG 是一种可用于建立语言模型基础的技术。 换句话说它是检索与用户的初始提示相关的信息的过程。 一般情况下RAG 模式包含以下步骤根据用户输入的初始提示检索基础数据。使用基础数据增强提示。使用语言模型生成有根据的响应。通过从指定数据源检索上下文确保语言模型在响应时使用相关信息而不是依赖其训练数据。在很多情况下你想要建立自己的语言模型的基础并提高生成式 AI 应用的响应的事实准确性此时使用 RAG 是一种强大且易用的方法。当你想要创建一个使用你自己的数据生成准确答案的代理时你需要能够有效地搜索数据。 使用 Microsoft Foundry 生成代理时可以使用与Azure AI 搜索的集成来检索聊天流中的相关上下文。Azure AI 搜索是一个检索器你可以在生成某个具有提示流的语言模型应用程序时包含它。 使用 Azure AI 搜索你可以自带数据、为数据建立索引以及查询索引来检索所需的任何信息。使用矢量索引虽然基于文本的索引可以提高搜索效率但通常可以使用基于向量的索引包含表示数据源中的文本标记的嵌入来实现更好的数据检索解决方案。嵌入是一种特殊的数据表示格式搜索引擎可以使用它轻松查找相关信息。 更具体地说嵌入是浮点数的矢量。例如假设你有两个包含以下内容的文档孩子们在公园里快乐地玩耍。孩子们快乐地在操场上跑来跑去。这两个文档包含语义上相关的文本尽管使用了不同的单词。 通过为文档中的文本创建矢量嵌入可以用数学方法计算文本中单词之间的关系。想象一下从文档中提取关键字并在多维空间中将其绘制为矢量矢量之间的距离可以通过测量两个矢量之间的角度的余弦也称为余弦相似性来计算。 换句话说余弦相似性计算文档和查询之间的语义相似性。通过用矢量表示单词及其含义即使数据以不同的格式文本或图像和语言进行存储也可以从数据源中提取相关上下文。当你希望能够使用矢量搜索来搜索数据时你需要在创建搜索索引时创建嵌入。 若要为搜索索引创建嵌入内容可以使用 Microsoft Foundry 中提供的 Azure OpenAI 嵌入模型。提示详细了解 Foundry 模型中 Azure OpenAI 中的嵌入。创建搜索索引在 Azure AI 搜索中搜索索引描述如何组织内容以使其可供搜索。 想象一个包含许多书籍的图书馆。 你希望能够轻松高效地搜索图书馆并检索相关书籍。 为了使图书馆可供搜索请创建一个目录其中包含有关书籍的任何相关数据以便轻松查找任何书籍。 图书馆的目录充当搜索索引。尽管创建索引的方法不同但 Microsoft Foundry 中的 Azure AI 搜索集成使你可以轻松地创建适合语言模型的索引。 可以将数据添加到 Microsoft Foundry之后可以使用 Azure AI 搜索通过嵌入模型在 Microsoft Foundry 门户中创建索引。 索引资产存储在 Azure AI 搜索中并在聊天流中使用时由 Microsoft Foundry 查询。如何配置搜索索引取决于你拥有的数据以及你希望语言模型使用的上下文。 例如使用关键字搜索你可以检索与搜索查询完全匹配的信息。 语义搜索则更进一步使用语义模型检索与查询含义匹配的信息而不是与确切的关键字匹配的信息。 目前最先进的技术是矢量搜索它创建嵌入来表示数据。搜索索引可通过多种方式在索引中查询该信息关键字搜索根据作为输入提供的特定关键字或术语标识相关文档或段落。语义搜索通过了解查询的含义并将其与语义相关的内容进行匹配而不是仅依赖于确切的关键字匹配项来检索文档或段落。矢量搜索使用文本矢量的数学表示形式以根据其语义含义或上下文查找类似的文档或段落。混合搜索合并任何或所有其他搜索技术。 查询并行执行并在统一的结果集中返回。在 Microsoft Foundry 中创建搜索索引时系统会引导你配置最适合与语言模型结合使用的索引。 将搜索结果用在生成式 AI 应用程序中时混合搜索会提供最准确的结果。混合搜索是关键字和全文与矢量搜索的组合用户可以选择向其添加语义排名。 创建与混合搜索兼容的索引时如果可以获得精确匹配使用关键字则检索到的信息是精确的而如果只能找到概念上相似的信息使用矢量搜索则检索到的信息虽然不精确但仍然相关。为了使用索引中的数据来为提示提供根据Azure OpenAI SDK 支持通过索引的连接详细信息来扩展请求。针对索引的搜索基于关键字- 换句话说查询由用户提示中的文本组成这些文本与索引文档中的文本匹配。 使用支持它的索引时另一种方法是使用基于矢量的查询其中索引和查询使用数字向量来表示文本标记。 使用矢量进行搜索可以根据语义相似性和文本匹配进行匹配。若要使用基于矢量的查询可以修改 Azure AI 搜索数据源详细信息的规范以包含嵌入模型;然后用于向量化查询文本。参见https://learn.microsoft.com/zh-cn/training/modules/build-copilot-ai-studio/2-ground-language-model

相关文章:

RAG和向量索引

为特定用例设计代理时,需要确保语言模型已建立基础并使用与用户所需内容相关的事实信息。 虽然语言模型针对大量数据进行了训练,但它们可能无权访问你想要向用户提供的知识。 若要确保代理基于特定数据提供准确且特定于域的响应,可使用检索增…...

做电力仪器选显示屏踩坑3年,终于摸透这四个选型标准

我是电力仪器设备厂的生产测试主管,干这行快7年了,前前后后负责过继保测试仪、变比测试仪、互感器校验仪等七八款产品的配件选型,光显示屏就换过四家供应商,踩过强电磁下跳数、低温黑屏、交期拖垮项目的坑,直到用上恒域…...

10个免费Illustrator脚本:让你的设计效率提升300%的终极工具集

10个免费Illustrator脚本:让你的设计效率提升300%的终极工具集 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 如果你经常使用Adobe Illustrator进行设计工作&#xff0…...

系统稳定性测试利器:Roast烤机工具原理与实践指南

1. 项目概述:一个为“烤”而生的开源工具最近在折腾一些自动化任务时,发现了一个挺有意思的开源项目,叫sumleo/roast。光看名字,你可能会联想到“烤肉”,但在程序员的世界里,这个“roast”可不是让你去烧烤…...

Windows 一键部署 OpenClaw 教程|5 分钟搭建本地 AI 智能体,轻松搞定复杂配置

OpenClaw 2.7.1 接入阿里云百炼超详细图文教程 📋 前置准备 本地已安装并能正常运行 OpenClaw 2.7.1 WindowsOpenClaw 顶部 Gateway 保持在线状态拥有可正常登录的阿里云账号网络可正常访问阿里云百炼控制台: https://bailian.console.aliyun.com/cn-be…...

滑动窗口(数组)

作用滑动窗口&#xff1a;求连续满足条件的最短子数组代码模板int left 0; int right;//外层循环扩展右边界&#xff0c;内层循环扩展左边界 for (right 0; right < n; right) {//获取当前考虑的元素while (left < right && check()) {//区间[left,right]不符合…...

Claude Markdown增强资源库:提升AI文档生成质量与效率

1. 项目概述&#xff1a;为什么我们需要一个“Claude Markdown 增强”资源库&#xff1f; 如果你和我一样&#xff0c;是 Claude 的深度用户&#xff0c;并且经常用它来辅助编程、撰写文档或整理知识&#xff0c;那你一定遇到过这个痛点&#xff1a;Claude 输出的 Markdown 代…...

Python 爬虫进阶技巧:JSON 数据多层嵌套解析取值技巧

前言 在现代网络数据采集场景中,JSON(JavaScript Object Notation)已成为前后端数据交互的核心格式,绝大多数动态网页、API 接口均采用多层嵌套 JSON 结构传输数据。对于爬虫开发者而言,基础的 JSON 取值仅能应对简单数据结构,而面对深度嵌套、数组嵌套、混合嵌套等复杂…...

自动化知识库构建工具:从多源聚合到持续部署的工程实践

1. 项目概述&#xff1a;一个面向开发者的自动化知识库构建工具最近在折腾个人知识管理和团队文档沉淀时&#xff0c;发现了一个挺有意思的开源项目&#xff0c;叫devp1/autopedia。乍一看这个名字&#xff0c;可能会联想到“自动百科全书”&#xff0c;但它的定位其实更精准&a…...

claw-installer:构建自动化部署脚本的工程实践与设计哲学

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫claw-installer。这名字乍一看有点抽象&#xff0c;但如果你对自动化部署、特别是那些需要处理复杂依赖和配置的应用感兴趣&#xff0c;那这个工具很可能就是你一直在找的“瑞士军刀”。简单来说&#xff…...

Python 爬虫进阶技巧:定时爬虫任务实现无人值守采集

前言 常规爬虫多依赖手动触发脚本运行,单次采集完成后需人工二次启动,无法满足日常周期性数据监控、行情抓取、资讯同步、业务台账定时归档等常态化采集需求。搭建可自主调度、自动启停、周期循环的定时爬虫任务,脱离人工干预实现无人值守全自动采集,是爬虫从临时脚本走向…...

终极解决方案:3分钟搞定百度网盘提取码的免费自动化工具

终极解决方案&#xff1a;3分钟搞定百度网盘提取码的免费自动化工具 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘资源下载卡在提取码这一步而烦恼吗&#xff1f;每次遇到需要密码的分享链接&#xff0c;都要…...

免费豆包大模型API代理部署指南:原理、实战与安全实践

1. 项目概述&#xff1a;一个免费且强大的大模型API代理 最近在折腾大语言模型应用开发的朋友&#xff0c;估计都绕不开一个核心痛点&#xff1a;API调用成本。无论是OpenAI的GPT系列&#xff0c;还是国内外的其他主流模型&#xff0c;按Token计费的模式在频繁调试和原型验证阶…...

游戏交易税、年龄锁与拒付账单:APP出海全球合规风暴

上周&#xff0c;监管与平台的合规重拳&#xff0c;密集落在了游戏交易、未成年人保护和支付链条上。几项变化直接且锋利&#xff0c;对出海游戏厂商而言&#xff0c;已不再是远期预警&#xff0c;而是迫在眉睫的执行项。 美国州级监管&#xff1a;直指游戏内购与停服责任 科…...

基于苏格拉底式提问的LLM深度推理:从概念澄清到工程实践

1. 项目概述&#xff1a;当AI学会“苏格拉底式提问”最近在探索如何让大语言模型&#xff08;LLM&#xff09;的推理能力更上一层楼时&#xff0c;我遇到了一个非常有意思的开源项目&#xff1a;jumasheff/socratic-rules。这个名字本身就充满了哲学与技术碰撞的火花——“苏格…...

AI系统行为治理:构建确定性护栏与运行时安全控制

1. 项目概述&#xff1a;为AI系统构建确定性的行为护栏如果你正在构建一个会“动手”的AI应用——无论是能帮你写代码的智能助手&#xff0c;还是能操作数据库的自动化流程&#xff0c;甚至是部署在物理设备上的机器人——那么你迟早会面临一个核心问题&#xff1a;如何确保它只…...

AMD Carrizo架构解析:SoC集成与HSA异构计算如何重塑移动处理器

1. 从“胶水粘合”到“原生融合”&#xff1a;Carrizo与Carrizo-L的架构革命2014年底&#xff0c;当AMD在新加坡的“计算的未来”活动上拿出Carrizo和Carrizo-L这两颗芯片时&#xff0c;现场的反应可能比预想的要平静一些。毕竟&#xff0c;对于习惯了每年“挤牙膏”式升级的行…...

AgenticTime:为AI智能体设计的时间推理引擎与.atime文件格式详解

1. 项目概述&#xff1a;为AI智能体赋予时间感知能力如果你用过Claude、GPT或者任何基于大语言模型的AI助手&#xff0c;肯定遇到过这样的场景&#xff1a;你告诉它“周五前要完成API评审”&#xff0c;它当时答应得好好的&#xff0c;但当你隔天再问“我这周有什么要紧事”时&…...

传统企业XaaS转型实战:从商业模式重构到运营模型落地

1. 云服务转型的十字路口&#xff1a;从“卖盒子”到“卖服务”的本质跨越在过去的十几年里&#xff0c;我亲眼见证了“云”从一个时髦的技术概念&#xff0c;演变为驱动几乎所有行业数字化转型的核心引擎。无论是初创公司还是百年老店&#xff0c;都在谈论上云、用云、管云。但…...

2026最新版|音频格式转换超详细全攻略:8种方法和避坑指南

你是否有过这样的经历——从录音笔导出的WAV文件体积太大无法发送&#xff0c;下载的FLAC无损音乐在车上无法播放&#xff0c;或者视频剪辑时发现音频格式不被软件识别&#xff1f;这些场景都会用到音频格式转换。本文基于2026年最新可用工具&#xff0c;把8种转换方法极度细化…...

小白必看!3个月从零基础到AI大模型工程师,独家学习路线助你轻松上岸!收藏不迷路!

本文分享了作者从计算机小白成功转行AI大模型工程师的亲身经历&#xff0c;并提供了独家学习路线。文章指出企业更看重能实际应用Python搭建AI智能体、用Java迭代项目的技能&#xff0c;而非死磕算法和公式。作者建议先掌握Python基础、建立对大模型的基本认知、磨练Prompt技巧…...

用 C 语言函数表实现通信传输层抽象

用 C 语言函数表实现通信传输层抽象 在嵌入式 Linux 或工业控制类程序中&#xff0c;一个应用经常需要同时接入多种通信链路&#xff0c;例如 UDP、串口、CAN、TCP 或 Unix Socket。 这些链路的底层实现差异很大&#xff1a; UDP 基于 socket串口基于 tty 设备CAN 基于 SocketC…...

【光栅和蛇形误差扩散半色调】基于Floyd-Steinberg算法进行误差扩散半色调研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

JDspyder:京东自动化抢购解决方案的技术实现与实战指南

JDspyder&#xff1a;京东自动化抢购解决方案的技术实现与实战指南 【免费下载链接】JDspyder 京东预约&抢购脚本&#xff0c;可以自定义商品链接 项目地址: https://gitcode.com/gh_mirrors/jd/JDspyder 在电商秒杀和限量商品抢购的激烈竞争中&#xff0c;技术手段…...

MD源码#MDH5影视源码主题模版下载 苹果CMS V10版

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 MD源码#MDH5影视源码主题模版下载 苹果CMS V10版 一键部署版本&#xff0c;完美运营版本带采集规则模块 system/include.html–公共引用文件 system/header.html–头部文件 system/foo…...

Cursor AI代码助手:重塑IDE开发体验,从智能补全到项目级协作

1. 项目概述&#xff1a;当AI代码助手遇上IDE&#xff0c;Cursor如何重塑开发体验 如果你是一名开发者&#xff0c;最近一定在圈子里频繁听到“Cursor”这个名字。它不是一个全新的编程语言&#xff0c;也不是一个颠覆性的框架&#xff0c;但它却实实在在地在改变着许多人的编码…...

忘记加密压缩包密码?开源工具ArchivePasswordTestTool帮你轻松找回

忘记加密压缩包密码&#xff1f;开源工具ArchivePasswordTestTool帮你轻松找回 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾因忘…...

HDD与SSD存储技术演进:从产业变迁看成本容量比与分层存储实践

1. 硬盘驱动器产业的十字路口&#xff1a;一场迟来的告别十多年前&#xff0c;当我在实验室里第一次把玩一块2.5英寸的机械硬盘&#xff0c;惊叹于它能在方寸之间存储数十GB的数据时&#xff0c;绝不会想到&#xff0c;这个看似坚不可摧的存储基石&#xff0c;其背后的商业帝国…...

硬核手搓解析!进程-内核分析:命令行参数及环境变量,重构main()

目录 命令行参数与环境变量 命令行参数 vim下的main() 环境变量 环境变量的应用举例 查询环境变量 全部查询 针对名称查询&#xff08;常用的方式&#xff09; 环境变量的更改 配置环境变量 进程&#xff1a;命令行参数及环境变量的关系 结论 获取环境变量 ①get…...

工程师背包线缆管理实战:从Cord Hog到DIY收纳方案全解析

1. 项目概述&#xff1a;从“线缆地狱”到个人收纳方案的探索作为一名常年与各种开发板、调试器、电源适配器和数据线打交道的硬件工程师&#xff0c;我的背包简直就是个微缩版的电子实验室。每天通勤&#xff0c;包里除了笔记本电脑&#xff0c;必然塞满了USB线、串口线、JTAG…...