还在为RAG检索发愁?手把手教你用ElasticSearch玩转向量存储,建议收藏!

Elasticsearch向量数据存储与搜索 Elasticsearch的KNN搜索提供了一种高效的方法来找到最相似的文档,搜索速度非常快,但可能会受到资源消耗影响。而"script_score"查询则提供了更大的灵活性和复杂度控制且精确度高,但可能会带来性能开销和可维护性的问题。选择哪种方法取决于特定的用例、性能要求和技术能力。 阅读详情

向量化(Vectorization)是一种将数据或操作转换为向量的过程,以便利用并行计算和高效处理。向量化将非数值数据(如文本、图像)转换为数值向量,以便计算机处理。而向量化在AIGC中非常的常见,例如知识库对话等等。如果大家感兴趣,后面专门来聊聊。

向量长什么样?例如:[0.25, -0.1, 0.7],向量化后的数据通常是一个数值数组

那我们如何将文本向量化呢,有很多种方式,这里我们使用Embedding。

Embedding(嵌入)是一种将高维、离散的数据(如单词、类别、图像等)映射到低维、连续的向量空间的技术。这些向量能够捕捉数据的语义或特征信息,广泛应用于自然语言处理(NLP)、推荐系统和机器学习等领域。

例如通过下面的代码我们可以将文本转换为向量化:

from transformers import BertTokenizer, BertModeltokenizer = BertTokenizer.from_pretrained('bert-base-uncased')model = BertModel.from_pretrained('bert-base-uncased')inputs = tokenizer("I love programming", return_tensors="pt")outputs = model(**inputs)embeddings = outputs.last_hidden_state  # 获取单词或句子的向量

向量数据库是一种专门设计用于存储和查询向量数据的数据库,而ElasticSearch就可以用来存储我们的向量

一、定义向量字段

PUT /test2{  "mappings": {    "properties": {      "my_vector": {        "type": "dense_vector",        "dims": 3      },      "my_text" : {        "type" : "keyword"      }    }  }}

这里我们定义test2 文档的内容如下(my_vector 和 my_text):

my_vector 是一个密集向量(dense vector),用于存储多维数据,如嵌入式表示;而 my_text 是一个关键字类型的字段,通常用于精确匹配和聚合。

dims: 3:指定向量的维度为 3。这意味着每个文档的 my_vector 字段将包含 3 个浮点数。

二、添加向量

PUT /test2/_doc/2{  "my_text" : "text1",  "my_vector" : [0.5, 10, 6]}

假设 text1 的向量为 [0.5, 10, 6]

my_text: “text1”:设置 my_text 字段的值为 “text1”。根据之前的映射,my_text 是一个 keyword 类型的字段,适用于精确匹配和聚合。my_vector: [0.5, 10, 6]:设置 my_vector 字段的值为 [0.5, 10, 6],my_vector 是一个 dense_vector 类型的字段,维度为 3。

卅四年、余弦相似度:cosineSimilarity

那么我们存入了向量是不是也要查询,假如我们有一个字符串 test2 向量化之后的数据为 [-0.5, 10, 7]

POST /test2/_search{  "query": {    "script_score": {      "query": {        "match_all": {}      },      "script": {        "source": "cosineSimilarity(params.queryVector, 'my_vector') + 1.0",        "params": {          "queryVector": [-0.5, 10, 7]        }      }    }  }}

这个请求使用了 script_score 查询,结合 cosineSimilarity 函数来计算文档中 my_vector 字段与给定查询向量之间的余弦相似度。为了确保查询结果的分数是非负的,cosineSimilarity 的结果加了 1.0。

cosineSimilarity 函数:cosineSimilarity 是 Elasticsearch 提供的一个内置函数,用于计算两个向量之间的余弦相似度。它适用于 dense_vector 类型的字段。

余弦相似度(Cosine Similarity)

  • 定义:余弦相似度通过计算两个向量的夹角余弦值来衡量它们的相似性。公式为:

    其中,A⋅BA⋅B 是向量的点积,∥A∥∥A∥ 和 ∥B∥∥B∥ 是向量的模。

  • 用途:常用于文本相似度计算、推荐系统等场景,因为它对向量的绝对大小不敏感,只关注方向。

向量维度:确保 queryVector 的维度与索引映射中定义的 my_vector 字段的维度一致,my_vector 的维度是 3,因此 queryVector 也必须是 3 维向量。如果维度不匹配,Elasticsearch 将返回错误。

评分范围:cosineSimilarity 的结果范围是 [-1, 1],其中 1 表示完全相同,-1 表示完全相反。为了确保评分是非负的,通常会将结果加 1.0,这样评分范围变为 [0, 2]。我们可以根据需要调整这个偏移量。

四、计算点积:dotProduct

除了余弦相似度这种算法,我们还可以使用 计算点积:dotProduct 来计算

POST /test2/_search{  "query": {    "script_score": {      "query": {        "match_all": {}      },      "script": {        "source": "dotProduct(params.queryVector, 'my_vector') + 1.0",        "params": {          "queryVector": [-0.5, 10, 7]        }      }    }  }}

点积(Dot Product)

  • 定义:点积是两个向量对应元素相乘后的和。公式为:

  • 用途:点积可以用于衡量两个向量的相似性,尤其是在向量已经归一化的情况下。它也是许多机器学习算法中的基本操作。

五、曼哈顿距离:l1norm

POST /test2/_search{  "query": {    "script_score": {      "query": {        "match_all": {}      },      "script": {        "source":"1 / (1 + l1norm(params.queryVector, 'my_vector'))",        "params": {          "queryVector": [-0.5, 10, 7]        }      }    }  }}

曼哈顿距离(Manhattan Distance, L1 Norm)

  • 定义:曼哈顿距离是两个向量在标准坐标系下的绝对差之和。公式为:

  • 用途:适用于需要衡量向量之间绝对差异的场景,如路径规划、图像处理等。

六、欧几里得距离:l2norm

POST /test2/_search{  "query": {    "script_score": {      "query": {        "match_all": {}      },      "script": {        "source": "1 / (1 + l2norm(params.queryVector, 'my_vector'))",        "params": {          "queryVector": [            -0.5,            10,            7          ]        }      }    }  }}

欧几里得距离(Euclidean Distance, L2 Norm)

  • 定义:欧几里得距离是两个向量之间的直线距离。公式为:

  • 用途:广泛用于聚类分析、图像识别等领域,因为它直观地反映了向量之间的几何距离。

七、自定义函数

除了上面的内置函数,这些算法在信息检索、推荐系统、聚类分析等领域有广泛应用。我们甚至可以自定义函数:

POST /test2/_search{  "query": {    "script_score": {      "query": {        "match_all": {}      },      "script": {        "source": "float[] v = doc['my_vector'].vectorValue; float vm = doc['my_vector'].magnitude; float dotProduct = 0; for (int i = 0; i < v.length; i++) { dotProduct += v[i] * params.queryVector[i]; } return dotProduct / (vm * (float) params.queryVectorMag);",        "params": {          "queryVector": [            -0.5,            10,            7          ],          "queryVectorMag": 5.25357        }      }    }  }}

脚本逻辑

float[] v = doc['my_vector'].vectorValue;  // 获取文档中的向量float vm = doc['my_vector'].magnitude;    // 获取文档向量的模float dotProduct = 0;                     // 初始化点积for (int i = 0; i < v.length; i++) {      // 遍历向量维度  dotProduct += v[i] * params.queryVector[i]; // 计算点积}return dotProduct / (vm * (float) params.queryVectorMag); // 返回余弦相似度
  • POST /test2/_search:在索引 test2 中执行搜索。
  • query:定义查询逻辑。
  • script_score:使用自定义脚本对文档评分。
  • match_all:匹配所有文档。
  • script:定义评分脚本。
  • params:传递给脚本的参数,包括查询向量 queryVector 和它的模 queryVectorMag。

向量化作为一种将高维、离散数据转换为低维、连续向量的技术,已经成为现代数据科学和机器学习领域的核心工具之一。通过将文本、图像、类别等复杂数据转化为数值向量,我们不仅能够更高效地处理和分析这些数据,还能捕捉到数据之间的深层次关系和语义信息。

例如我们公司就是在将文本转存为向量化存储到ES中,从而加入更好的算法,例如RAG Reranker重排,确保能检索到最相关的内容。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

什么是向量化?ElasticSearch如何存储向量? PUT /test2"dims": 3},my_vector是一个密集向量(dense vector),用于存储多维数据,如嵌入式表示;而my_text是一个关键字类型的字段,通常用于精确匹配和聚合。dims: 3:指定向量的维度为 3。这意味着每个文档的 my_vector 字段将包含 3 个浮点数。除了上面的内置函数,这些算法在信息检索、推荐系统、聚类分析等领域有广泛应用。"query": {"query": {},",-0.5,10,7],脚本逻辑// 获取文档中的向量。 阅读详情

相关推荐

详细教程:如何使用elasticsearch 8.x进行向量搜索

大模型的热度使得向量数据库和embedding也成了ai领域的热门话题,有别于从头开始训练一个大模型或基于基础模型进行微调的方式,embedding检索相关上下文是对大模型进行定制的各种方法中成本最低、技术实现最便捷的方式。从技术实现的角度,

qq_50790981的博客 1万+

使用 ElasticSearch 作为知识库,存储向量及相似性搜索

在当今大数据时代,快速有效地搜索和分析海量数据成为了许多企业和组织的重要需求。`Elasticsearch` 作为一款功能强大的分布式搜索和分析引擎,为我们提供了一种优秀的解决方案。除了传统的文本搜索,`Elasticsearch` 还引入了向量存储的概念,以实现更精确、更高效的相似性搜索。

小毕超博客 1万+

基于Multisim的模电调幅发射机仿真设计

振荡器产生的高频信号的功率很小,所以有必要对高频信号进行功率放大,有利于信号的调制发射。缓冲电路将主振荡器和高频功放电路相隔离,以减小功放电路对主振荡器的影响。缓冲电路可以用射极跟随器电路来实现,其作用就是前后级的阻抗相互匹配,减小前后级的影响。总电路的仿真结果见下图:示波器1~4分别是主振荡器、缓冲电路、高频放大电路和调幅电路的输出波形。由于载波频率稳定度≤10-3,所以可以采用并联型改进电容反馈式三端振荡器(Seiler电路)谐振回路,滤除其他频率的成分,得到与载波(假设。(1)缓冲电路的设计与实现。

Eve223322的博客 4583

【Elasticsearch】一文读懂ES向量搜索:原理剖析与技术全景

向量搜索,简单来说,就是在向量空间中进行的搜索操作。在传统的文本搜索中,我们通常基于关键词进行匹配,这种方式对于精确匹配的场景效果较好,但在处理语义理解、模糊匹配等复杂场景时显得力不从心。而向量搜索则将文本、图像、音频等各种数据转化为向量表示,通过计算向量之间的相似度来进行搜索。这种方式能够更好地捕捉数据的语义信息,从而实现更精准、更智能的搜索。

大白的成长之路 2964

【文章阅读+代码复现】Point-GNN

Brief 在3D点云语义分割方法中,GNN已经做了很多可用的方案,但是在目标检测上依旧是采用比较传统的CNN和稀疏卷积的组合,这一篇文章是研究了图卷积在3D检测的中的用法。来自卡内基梅隆大学。已经被CVPR2020接收. 这里是 paper 这里是 code Abstruct 一个采用GNN设计的3D目标检测框架 过程是先将点云场景编码成图结构,随后设计了一个叫point-GNN的网络结构,在...

有所为,有所成长 1万+

从零开始做题:big_zip

内容为:You_know_the_bed_feels_warmer_Sleeping_here_alone_You_know_I_dream_in_color_And_do_the_things_I_want_You_think_you_got_the_best_of_me_Think_you_had_the_last_laugh_Bet_you_think_that_everything_good_is_gone。查看压缩包内容,发现有五字节长度的文件,用crc碰撞攻击破解明文。

weixin_44626085的博客 1242

大模型应用之RAG详解,RAG保姆级教程,收藏这篇就够了!

RAG(Retrieval Augmented Generation,检索增强生成)是一种将大规模语言模型(LLM)与外部知识源的检索相结合,以改进问答能力的工程框架。它使用来自私有或专有数据源的信息来辅助文本生成,从而弥补LLM的局限性,特别是在解决幻觉问题和提升时效性方面。原始 RAG 的流程包括索引、检索和生成三个步骤,既把问答内容输入到数据库中,给定query,可以直接去数据库中搜索,搜索完成后把查询结果和query拼接起来送给模型去生成内容。实际上langchain。

m0_70486148的博客 5万+

tcllib2.0 package - csv

tcl lib 的csv库

shin 859

【强烈推荐】从零开始构建RAG系统:检索增强生成(RAG)实战指南,建议收藏学习!

我们先从一个。

大模型教程的博客 959

CODESYS做Modbus TCP主站踩坑记:从IP配置到数据映射的完整避坑指南

本文详细记录了在CODESYS中配置Modbus TCP主站的全过程,从IP配置到数据映射的常见问题及解决方案。重点解析了网络适配器选择、Slave ID误解、地址偏移陷阱等关键问题,并提供了实用的调试技巧和性能优化建议,帮助工业通信开发者高效避坑。

weixin_30642561的博客 624

MT4量化交易入门:手把手教你用MQL4编写第一个外汇EA(含完整代码)

本文详细介绍了如何使用MQL4在MT4平台上编写第一个外汇EA,涵盖从开发环境配置到均线交叉策略实现的完整流程。通过手把手教学和完整代码示例,帮助量化交易新手快速掌握外汇自动化交易的核心技术,实现高效的MT4量化交易系统。

mmm90的博客 527

RAG 检索四件套全解析:模型、向量库、检索方式、排序器,一文选型不踩坑,收藏这一篇就够了!!

想做智能客服、企业知识库、RAG 应用?你绕不开的问题是:该用什么向量模型?用什么库?用什么排序器?本篇一次讲清

2401_85327249的博客 1344

Three 之 three.js (webgl)绘制物体模型尺寸虚线包围框工具简单封装 DashLinesBoxTool

Three js 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。本节介绍, three.js (webgl) 中绘制物体模型尺寸虚线包围框工具简单封装 DashLinesBoxTool,主要是给实物绘制线框,有点像AI 识别正方形包裹框的效果。其中,如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

仙魁XAN 2106

MySQL做RAG向量检索入门到精通(非常详细),收藏这一篇就够了!

老王透明的茶杯里,泡满了枸杞,我就瞅了一眼,少说也有 100 颗。 没等我回过来神,老王就直入主题:“你做 RAG 检索用的什么数据库?”

m0_59164520的博客 557

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

算法大师! 994

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

RAG检索增强生成指南(深度解析)从小白到专家,建议收藏!

简单说,RAG(检索增强生成)就是给 AI 模型装了一个 “专属知识库 + 精准搜索引擎”。AI 在回答问题时,只基于你提供的真实知识(比如公司文档、专业资料、实时数据)生成答案,既避免瞎编,又能精准对接具体需求。让模型生成的内容更准确、更具时效性、更可追溯。1)文档切分:长文档(比如一本产品手册)不能直接用,得拆成小片段(专业叫 “Chunk”)。RAG 的核心价值,是让 AI 从 “瞎编乱造” 变成 “有据可依”。

2401_85375298的博客 1003

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

一文彻底学会RAG应用中常见的10种向量数据库及其区别,建议收藏!

在构建能够理解和生成自然语言的智能应用时,大型语言模型(LLMs)展现出了强大的能力。然而,这些模型通常依赖于训练时所拥有的知识,对于特定领域或最新信息的掌握可能存在不足。为了弥补这一缺陷,检索增强生成(RAG)技术应运而生。 RAG通过在LLM生成答案之前,先从外部知识库中检索相关信息,从而显著提升了LLM在特定任务上的性能和知识覆盖范围。在RAG应用中,向量数据库扮演着至关重要的角色,它们负责存储和高效检索这些外部知识,使得LLM能够基于最新的、领域特定的信息生成更准确、更具上下文相关性的答案。

2401_85373691的博客 2073

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

一文读懂RAG与向量数据库

摘要:本文系统介绍了RAG(检索增强生成)技术与向量数据库的应用及优化策略。RAG通过结合向量数据库的外部知识检索与大模型推理能力,有效提升回答质量,解决数据时效性、隐私等问题。文章详细解析了RAG的工作原理与流程,对比了向量数据库与传统数据库的差异,并列举主流工具(如Milvus、FAISS)。同时提出优化建议,包括索引策略调整、嵌入模型选择、混合搜索等,为构建高效AI问答系统提供实践指导,辅以Python代码示例说明技术实现。 关键词: RAG技术、向量数据库、相似性检索、AI优化、非结构化数据处理

没事学AI的博客 1079

【AI大模型】使用 LangChain + Higress + Elasticsearch 构建 RAG 应用,收藏这篇就够了!!

RAG(Retrieval Augmented Generation,检索增强生成) 是一种结合了信息检索与生成式大语言模型(LLM)的技术。它的核心思想是:在生成模型输出内容之前,先从外部知识库或数据源中检索相关信息,然后将这些信息作为上下文输入给生成模型,从而提升生成内容的准确性、时效性和相关性。在本文中,我们将使用 LangChain、Higress 和 Elasticsearch 来构建一个 RAG 应用。

Gaga246的博客 1167

高级RAG技术全景图解!从架构到实战,这篇最全指南建议立刻收藏

本文综述了检索增强生成(RAG)技术及其高级算法实现。RAG通过检索外部信息增强LLM的生成能力,已成为2023年最流行的LLM架构。文章首先介绍基础RAG流程:文本分块、向量化、索引构建及提示工程。重点分析了高级RAG技术,包括优化分块策略、多向量索引方案(假设性问题/HyDE)、上下文扩展方法(句子窗口检索/父文档检索器)以及分层索引等。文章指出当前开源工具(如LlamaIndex)已实现这些技术,但缺乏系统性梳理,旨在为开发者提供技术全景图而非具体实现细节。最后强调提示工程是成本最低的优化手段,并列举

weixin_58753619的博客 741

收藏!一文掌握RAG核心技术:用Python和Ollama构建检索增强生成系统

本文详细介绍了检索增强生成(RAG)技术的工作原理和实现方法。通过Python和Ollama工具,从零构建了一个简单的RAG系统,包括索引阶段(文本向量化)、检索阶段(相似度匹配)和生成阶段(基于检索结果回答问题)。文章解释了RAG系统的核心组成部分,分析了当前实现的局限性,并简要介绍了Graph RAG、Hybrid RAG等进阶实现方式,为读者提供了全面了解和入门RAG技术的实用指南。

datian1234的博客 885

从0到1掌握RAG:解决大模型落地痛点的终极方案,建议收藏!

文章介绍了RAG(检索增强生成)技术如何解决大模型落地应用中的问题。RAG通过将外部知识库与大模型结合,解决了大模型知识截止、幻觉和数据隐私三大缺陷。相比微调,RAG具有准确性、透明度、时效性和成本效率四大优势。文章详细解析了RAG的离线数据准备和在线推理两个核心阶段,并指出在需要高时效性、数据保护、可解释性和消除幻觉的场景中,RAG是首选方案。

Android_XG的博客 1239

从零开始构建RAG系统:大模型检索增强生成实战指南,收藏必学!

本文详细介绍了检索增强生成(RAG)技术,通过将大语言模型与外部知识源结合,解决知识局限、幻觉问题等挑战。文章以Python和开源库为例,从文档加载、文本分块到向量存储和响应生成,完整构建了RAG系统,并探讨了生产环境中的优化策略与部署方案,为开发者提供了实用的大模型应用解决方案。

大模型研究中心 1051

收藏级!RAG工作原理详解:11张图带你吃透RAG完整工作流程

RAG的七步工作流,本质是构建了一条“知识固化→意图解析→动态增强→可控输出”的完整链条。它没有改变大模型的核心架构,却通过“外部检索+上下文增强”的巧妙设计,让大模型实现了“知识实时更新”“精准解答专业问题”“适配私有数据”的能力。对于小白来说,理解RAG是入门大模型应用的关键;对于程序员来说,RAG是落地大模型项目的“性价比之王”——不用重训大模型,就能快速搭建出适配业务场景的智能问答、文档解析等应用。

m0_48891301的博客 1万+

【LLM】Elasticsearch作为向量库入门指南

这篇文章将介绍如何使用 docker-compose 安装 ES 和 Kibana,如何使用 ES 存储和查询向量数据。这里有全网最详细的 ES 作为向量库参数配置介绍,并且在文章最后会介绍如何使用 Langgraph 搭建一个文本嵌入,并实现相似性查询的工作流。

herogus的博客 2885

从入门到精通:RAG检索增强生成技术全解析(程序员必学,建议收藏)

从入门到精通:RAG检索增强生成技术全解析(程序员必学,建议收藏)

m0_48891301的博客 1625
上一篇: 告别复制粘贴!用Langchain让大模型直接“阅读”你的文件,打造专属AI知识库!
下一篇: AI大模型的“通用语言”竟是它!万字长文彻底搞懂向量嵌入,从入门到精通,看这篇就够了!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值