一文带你全面了解 RAG 核心组件

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。 阅读详情

检索增强生成 (RAG) 流程正在彻底改变我们与大型语言模型 (LLM) 的交互方式。RAG 不再仅仅依赖这些模型中预先训练的知识,而是让 LLM 能够实时访问和利用外部知识源,从而产生更准确、更相关、更有根据的响应。然而,构建有效的 RAG 系统并不是一个即插即用的操作;它是一个经历复杂选择的过程。

检索增强生成 (RAG) 是一种创新方法,它将检索系统的优势与生成模型相结合,允许根据外部知识生成与上下文相关的响应。构建有效的 RAG 流水线涉及多个组件,每个组件都有自己的一组选项、优点和缺点。这篇文章解开了 RAG 流水线的核心组件,探索了它们的选项,并讨论了超参数的关键作用。

1. 数据加载器

数据加载器负责将来自各种来源的数据提取到 RAG 流水线中。以下是一些常见的选项:

DirectoryLoader:从指定目录加载文档。

  • 优点:使用简单;可以处理多种文件类型。

  • 缺点:对于不支持的格式可能需要额外的处理。

  • 示例:从文件夹加载所有 .txt 和 .pdf 文件。

PyPDFLoader:专门用于从 PDF 文件中提取文本。

  • 优点:能很好地处理复杂的 PDF 结构。

  • 缺点:仅限于 PDF 文件;处理扫描文档可能会比较困难。

  • 示例:加载 PDF 格式的科学论文。

WebBaseLoader:直接从网页获取内容。

  • 优点:访问实时信息;对于动态内容有用。

  • 缺点:依赖于互联网访问;可能会面临网络抓取限制问题。

  • 示例:从特定的网址收集信息。

CSVLoader:从 CSV 文件加载数据。

  • 优点:易于使用结构化数据;广泛支持的格式。

  • 缺点:仅限于表格数据;可能需要对复杂结构进行额外解析。

  • 示例:整合目录中的产品信息

2. 分割器

文本分割器将大型文档分解为易于管理的块,以便于处理。选项包括:

RecursiveCharacterTextSplitter:根据字符限制拆分文本,同时保持逻辑边界。

  • 优点:通过递归尝试不同的字符(例如换行符、空格)来分割文本。

  • 缺点:如果句子中间分裂,可能无法保留语义上下文。

  • 例如:将一本书分成段落和句子。

HTMLHeaderTextSplitter/HTMLSectionSplitter:根据标题或部分分割 HTML 文档。

  • 优点:通过按 HTML 标签拆分来保留文档结构。非常适合结构化 HTML 内容。

  • 缺点:不适合非 HTML 文本。

  • 示例:将博客文章分成有意义的部分。

CharacterTextSplitter:将文本分成指定字符长度的块。

  • 优点:简单、快速,按单个指定字符进行分割。

  • 缺点:不理解句子或段落的界限。

  • 示例:通过换行符分割代码。

TokenTextSplitter:根据标记计数拆分文本,对 NLP 任务很有用。

  • 优点:按标记数量拆分文本,对于具有标记限制的 LLM 来说更加一致。

  • 缺点:如果块大小太小,可能会在句子中间分裂。

  • 示例:为具有特定标记限制的模型准备文本

SpacyTextSplitter:利用 spaCy 的 NLP 功能智能地分割文本。

  • 优点:利用 SpaCy 的 NLP 功能将文本分成句子,同时保持语义理解。

  • 缺点:比简单的基于字符的拆分更慢。

  • 示例:以更高的精度处理自然语言文本。

SentenceTransformers:利用不同的 NLP 库根据句子或特定语言的规则进行拆分的各种方法。

  • 优点:设计用于与 SentenceTransformers 无缝协作,确保正确拆分标记以进行向量嵌入。

  • 缺点:需要安装 SentenceTransformers。

  • 示例:在使用 SentenceTransformers 嵌入文本之前对其进行拆分,以获得更好的矢量表示。

NLTKTextSplitter

  • 优点:使用 NLTK(自然语言工具包)执行句子或段落标记,提供更好的语义处理。缺点:需要安装 NLTK;实现起来可能更复杂。示例:拆分文本,同时确保每个块从自然语言角度来看都有意义。

KonlpyTextSplitter:

  • 优点:专为韩文文本设计,使用 Konlpy 的标记化功能实现更好的分块。

  • 缺点:仅适用于韩文。

  • 示例:有效处理韩语文档

3. 分块方法

分块是指将文本分成更小的片段。主要方法包括:

固定大小块:将文本分割成预定的长度。

  • 优点:简单、可预测。

  • 缺点:可能会切断重要内容。

基于句子和基于段落的方法:使用自然语言边界进行分块。

  • 优点:保留含义和上下文。

  • 缺点:可变的块大小会使处理复杂化。

语义分块:根据含义而不是大小对文本进行分段。

  • 优点:保持上下文完整性。

  • 缺点:实现起来比较复杂。

滑动窗口方法:创建重叠块以保留跨段的上下文。

  • 优点:确保信息的连续性。

  • 缺点:增加冗余和处理时间。

混合方法:结合多种方法以获得最佳结果。

  • 优点:结合多种分块技术,从而获得具有上下文的良好分块数据。

  • 缺点:实现起来复杂。

关键超参数:

  • chunk_size:每个块的字符或标记的数量。

  • chunk_overlap:连续块之间的重叠。

  • length_function:确定如何计算chunk的长度。

  • trade-offs:较大的块可以捕获更多上下文,但可能会超出模型限制或需要更多计算能力。较小的块可能会丢失关键上下文,也可能无法满足 LLM 标记要求。重叠有助于维护块之间的上下文,但重叠过多会导致数据冗余。

4. 嵌入模型

嵌入将文本转换为密集的矢量表示。选项包括:

词嵌入(例如 Word2Vec):提供传统的词级嵌入。

  • 优点:对于单词级任务来说简单而高效。

  • 缺点:缺乏上下文理解,在RAG中几乎不用

  • 例如:表示“王后”附近“国王”的矢量。

句子嵌入(例如 BERT):捕获句子中单词之间的上下文关系。

  • 优点:更好地理解语义和上下文。

  • 缺点:计算量巨大。

  • 例如:比较“猫坐下”与“猫正在睡觉”。

图嵌入:

  • 优点:嵌入关系数据,适合知识图谱。

  • 缺点:实施复杂。

  • 示例:在社交网络中嵌入节点

图像嵌入:

  • 优点:将图像数据嵌入到向量空间中,以进行基于图像的检索

  • 缺点:需要特定的模型来提取图像特征。

  • 示例:查找相似的产品图像。

具体嵌入模型包括:

  • OpenAIEmbeddings:使用 OpenAI 的 API;广泛使用,对于通用任务有效。

  • OllamaEmbeddings:与 Ollama 集成,实现本地嵌入模型,注重隐私

  • HuggingFaceInstructEmbeddings:使用来自 Hugging Face 的基于指令的模型。

  • HuggingFaceBgeEmbeddings:使用来自 Hugging Face 的 BGE 模型,通常适用于多语言用例。

  • GooglePaLMEmbedding:采用 Google 的 PaLM API,以语义准确性而闻名。

  • CohereEmbeddings:使用 Cohere 强大的嵌入模型,通常用于企业环境。

关键超参数:

  • dimensionality:更高的维度可能捕捉到更多的细微差别,但也可能引入噪音并增加计算量。

  • model_name:根据数据大小和性能标准选择正确的模型至关重要。

  • max_length:限制可嵌入的文本长度,这直接影响块大小。

5.矢量数据库

矢量数据库存储嵌入以实现高效检索。常见的选择包括:

DocArrayInMemorySearch:内存向量搜索。

  • 优点:简单轻量,非常适合小型数据集或原型设计

  • 缺点:不持久,不能处理大量数据。

Pinecone:管理矢量数据库。

  • 优点:完全托管的矢量数据库,可扩展以适应生产,是企业项目的强大选择。

  • 缺点:基于云,因此需要供应商参与。

FAISS(Facebook AI 相似性搜索):Facebook AI 相似性搜索。

  • 优点:搜索高效、快速。

  • 缺点:需要内存,不适用于大型数据集。

Cassandra:分布式 NoSQL 数据库。

  • 优点:可扩展性强,适合大型企业应用。

  • 缺点:需要更复杂的设置和管理。

Chroma:LLM 应用的矢量数据库。

  • 优点:开源,内存友好,有利于开发,拥有强大的社区支持。

  • 缺点:不适合大型数据集和生产。

Weaviate:开源矢量搜索引擎。

  • 优点:完全托管、开源、可扩展、社区良好。

  • 缺点:需要第三方服务。

Milvus:开源矢量数据库。

  • 优点:高度可扩展,专为人工智能和机器学习应用而设计。

  • 缺点:需要深入了解管理基础设施的知识。

pgvector:用于向量搜索的 PostgreSQL 扩展。

  • 优点:PostgreSQL 扩展,如果已经使用 Postgres 的话,这非常棒。

  • 缺点:虽然扩展性很好,但是传统数据库并未针对矢量搜索进行优化。

Qdrant:向量相似性搜索引擎。

  • 优点:开源、提供云选项、适合企业且易于使用。

  • 缺点:需要第三方服务。

Astra DB:托管矢量数据库。

  • 优点:完全托管,基于 Cassandra 构建。非常适合大型企业用例。

  • 缺点:可能非常复杂。

Elasticsearch:搜索和分析引擎。

  • 优点:如果你有使用 elasticsearch 的经验,这是一个不错的选择,可扩展到大型数据集

  • 缺点:成本较高,不适合矢量搜索。

SingleStore:用于交易和分析的统一数据库。

  • 优点:分布式架构允许高效扩展和快速数据检索。

  • 缺点:成本较高且需要技术知识。

关键超参数:

  • index_method:索引向量表示的方法,不同的方法有不同的性能。

  • storage_method:确定向量的存储方式,可能因要求而异。

6. 向量搜索算法

进行查询时,系统会采用矢量搜索算法来查找相关信息。选项包括:

近似最近邻 (ANN) :在高维空间中有效地查找相似的向量。

  • 优点:速度快,适用于大型数据集

  • 缺点:结果是近似匹配,而不是精确结果。

  • 例如:HNSW 算法是一种 ANN 技术。

HNSW和其他方法(如 IVF-PQ 或局部敏感散列 (LSH))也因其速度和准确性的平衡而成为流行的选择。

  • 优点:ANN 的变体,速度快,回忆力好。

  • 缺点:结果近似匹配。

IVF-PQ 或局部敏感哈希 (LSH) :

  • 优点:相似性搜索速度快,尤其是在高维空间中。

  • 缺点:近似。

7.检索器

检索器根据查询嵌入识别相关文档或段落。检索器接收用户查询,并利用该查询从向量数据库中获取相关信息。选项包括:

MultiQueryRetriever:使用多个查询进行检索。

  • 优点:生成多种查询变体,增加找到良好相关文档的机会。

  • 缺点:可能会在获取的结果中引入冗余。

SemanticRetrieve:根据语义相似性进行检索。

  • 优点:关注用户查询和向量嵌入之间的语义相似性

  • 缺点:可能不会考虑查询中的特定关键词。

ContextualCompressionRetriever:压缩上下文以实现有效检索。

  • 优点:压缩检索到的文档以仅根据用户查询过滤相关信息,从而减少发送到 LLM 的信息量。

  • 缺点:如果压缩过度,可能会过滤掉相关内容。

LLMChainExtractor:使用 LLM 链进行检索。

  • 优点:使用 LLM 从检索到的文档中提取相关内容,然后将其发送到模型。

  • 缺点:计算成本较高。

EnsembleRetriever:组合多个检索器。

  • 优点:结合多种检索器以获得更好的结果。

  • 缺点:计算成本更高。

BM25Retriever:传统检索方法。

  • 优点:使用 BM25 算法进行基于文本的搜索。

  • 缺点:依赖于关键词匹配,可能会错过语义相关性。

MultiVectorRetriever:使用多个向量进行检索。

  • 优点:可以处理多个向量索引。

  • 缺点:设置更复杂。

ParentDocumentRetriever:根据父文档进行检索。

  • 优点:允许存储带有块的父文档,维护上下文

  • 缺点:加载数据时需要额外的步骤

SelfQueryRetriever:使用自查询进行检索。

  • 优点:允许 LLM 从用户查询中提取查询参数并将其用于检索。

  • 缺点:复杂查询可能会出错。

TimeWeightedVectorStoreRetriever:根据时间加权向量进行检索。

  • 优点:根据时间对文档进行优先排序。

  • 缺点:需要基于时间的文档信息。

8.相似度测量

为了确定检索到的项目之间的相关性,可以采用几种相似度度量:

点积:通过向量乘法计算原始相似度。

  • 优点:计算简单。

  • 缺点:需要标准化的向量。

余弦相似度:确定向量之间的角度差异。

  • 优点:按幅度进行标准化,适合高维数据。

  • 缺点:计算起来比点积更复杂。

欧几里得距离:测量向量之间的直线空间分离。

  • 优点:简单易懂。

  • 缺点:对于高维度或文本嵌入来说效果不佳

曼哈顿距离:计算向量分量之间的绝对差之和。

  • 优点:受异常值的影响较小。

  • 缺点:在文本检索中不太常见

关键超参数:

  • k:要检索的文档数量。

  • similarity_measure:要使用的相似性度量(例如余弦、点积)

9. RAG 中调整超参数的最佳实践

检索增强生成 (RAG) 将检索系统和生成模型的优势结合起来,以生成与上下文相关的输出。为了优化 RAG 流水线的性能,仔细调整超参数至关重要。本博客探讨了超参数调整的最佳实践,涵盖了 RAG 流水线的各个组件,包括模型选择、嵌入策略、检索机制等。

1. 了解 RAG 流水线中的超参数

超参数是影响机器学习模型训练和性能的配置变量。在 RAG 流水线中,超参数可以影响各个阶段,包括数据提取、检索和生成。需要考虑的关键超参数包括:

  • 块大小:确定一次处理多少文本。

  • 前 K 个值:指定从数据库中检索多少个前结果。

  • 嵌入维数:影响数据在向量空间中的表示。

  • 检索阈值:设置检索过程中构成“相关”结果的限制。

2.模型选择和调整

选择正确的检索和生成模型至关重要。以下是一些注意事项:

  • 检索模型:BM25 或密集通道检索 (DPR) 等选项可能很有效。结合稀疏和密集技术的混合模型通常能产生更好的结果。

  • 生成模型:根据应用程序的复杂性和要求选择 GPT-3、BERT 或 T5 等模型。

  • 最佳实践:尝试不同的模型组合,找到适合特定用例的最佳设置

3.超参数调整策略

有几种有效调整超参数的策略:

网格搜索:系统地探索一组预定义的超参数。

  • 优点:全面;测试所有组合。

  • 缺点:计算成本高昂;可能由于“维数灾难”而错过最佳参数

随机搜索:从指定分布中随机抽样超参数。

  • 优点:比网格搜索更有效;无需进行详尽的测试即可获得良好的结果。

  • 缺点:方差较大;有时需要更长时间才能找到最佳性能

贝叶斯优化:使用概率模型根据过去的评估找到最佳超参数。

  • 优点:高效;专注于超参数空间的有前景的领域。

  • 缺点:与简单方法相比,实现起来更复杂

自动超参数调整工具:Ray Tune或等工具Optuna可以通过利用高级算法智能优化超参数,从而简化调整过程

4. 组件特定的调整

RAG 流水线的每个组件都有特定的超参数,可以进行调整以提高性能:

数据加载和分块:

尝试不同的块大小和重叠设置,以找到上下文保留和处理效率之间的最佳平衡

嵌入模型:

根据维度和语义保留选择嵌入模型。微调嵌入也可以显著提高性能

检索参数:

调整与查询转换和高级检索策略相关的参数,以增强检索到的文档的相关性

5. 监控性能并进行迭代

实施更改后,持续监控 RAG 流水线的性能至关重要。使用精度、召回率、F1 分数或用户满意度分数等指标来评估系统在不同超参数设置下的表现。

  • 反馈循环:实施反馈机制,让你能够根据实际使用数据改进模型

如何学习大模型 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%免费】

在这里插入图片描述

Echocardiography Image Segmentation: A Survey(超声心动图图像分割方法综述--中文翻译) Echocardiography Image Segmentation: A Survey 摘要:尽管超声图像的获取是较廉价,并且免于辐射的,但是超声图像因为信号衰减、斑点噪声等干扰,使得超声图像的分割具有较大挑战。本文将近些年应用于超声心动图像分割的相关方法进行了分类总结,并列出了10篇具有原创思想的文章,这些文章具有特殊的临床使用价值或是对于超声心动图像分割具有指导意义。 关键词:超声心动... 阅读详情

相关推荐

基于verilog的16QAM调制

思路1:正交调幅法——实现16QAM调制,可以理解为时相位相差90度的两个正弦波的4PAM叠加。 4比特输入经过2->4进制转化得到两路2比特输入,然后分别经过4PAM后叠加所得输出即为16QAM调制结果。 具体程序稍后编写。 思路2:复合相移法——可以借助前面编写的QPSK,相当于两路幅度不同的QPSK的叠加,比如幅度分别取1和3 。 思路1正交调幅法的设计方案: 两正弦波相位差...

weixin_30725467的博客 2929

一文带你全面了解 RAG 组件

检索增强生成 (RAG) 流程正在彻底改变我们与大型语言模型 (LLM) 的交互方式。RAG 不再仅仅依赖这些模型中预先训练的知识,而是让 LLM 能够实时访问和利用外部知识源,从而产生更准确、更相关、更有根据的响应。然而,构建有效的 RAG 系统并不是一个即插即用的操作;它是一个经历复杂选择的过程。检索增强生成 (RAG) 是一种创新方法,它将检索系统的优势与生成模型相结合,允许根据外部知识生成与上下文相关的响应。构建有效的 RAG 流水线涉及多个组件,每个组件都有自己的一组选项、优点和缺点。

yanqianglifei的专栏 1037

IEEE PHM 2012轴承数据实战:用LSTM预测剩余寿命的完整流程与调参心得

本文详细解析了如何利用IEEE PHM 2012轴承数据集和LSTM模型进行轴承剩余寿命预测。从数据预处理、特征工程到LSTM模型架构设计和调参技巧,提供了完整的实战流程。特别分享了FEMTO-ST数据集的处理方法、RUL标签构建策略以及提升预测精度的关键技巧,帮助工程师实现更准确的预测性维护。

weixin_31100517的博客 368

7种RAG工具,让你的LLMs发挥最大效用

很棒的内容,对吧?随着大型语言模型(LLMs)在各个行业中的广泛应用,利益相关者的需求将变得更加复杂,因为请求变得更加多样化。所以,如果你想跟上最新的讨论、框架和技术,以便从你的LLM中获得最大的收益,那么你会想要在4月23日至25日参加ODSC East会议。在ODSC East会议上,有一个完整的专题讨论会专门致力于大型语言模型。你可以向业界领袖、研究人员以及人工智能领域的前沿人物学习。利用ReAct、LLMs和LangChain实现复杂推理和行动。

基咯咯 6579

从仿真到实战:PMOS缓启动与栅极泄放电路的优化设计

本文深入探讨了PMOS缓启动与栅极泄放电路的优化设计,通过立创EDA仿真和实物调试,解决了关断速度慢和耐压问题。文章详细介绍了电路改进方案和低功耗优化技巧,为工程师提供了实用的工程实践建议,帮助提升电源开关电路的性能和可靠性。

weixin_28721917的博客 261

用FSL的eddy_topup pipeline完整处理DTI数据:从原理到实战,搞定涡流和磁化率畸变

本文详细介绍了如何使用FSL的eddy_topup pipeline完整处理DTI数据,解决涡流和磁化率畸变问题。从原理到实战,涵盖了数据格式转换、脑提取、b0图像处理等关键步骤,并提供了acqparams.txt配置和eddy命令的详细解析,帮助研究人员高效完成DTI数据校正。

weixin_29235525的博客 286

5 个遥遥领先的大模型 RAG 工具

想象一下拥有一种超能力,让你能够对任何问题或提示生成类似人类的回答,同时还能够利用庞大的外部知识库确保准确性和相关性。这不是科幻小说,这就是检索增强生成(RAG)的力量。在本文中,我们将介绍五大遥遥领先的 RAG 工具或库:LangChain、LlamaIndex、Haystack、RAGatouille 和 EmbedChain。

机器学习社区 1497

【Frida Android】实战篇4:SSL Pinning 证书绑定绕过 Hook 教程(一)

在前两章中,我们学习了中间人抓包与 Hook 抓包的基础方法,这些方法在理想环境下能够有效获取网络请求数据。但在实际的企业级应用中,出于安全防护需求,很多 APP 会启用证书绑定(SSL Pinning)机制。这种机制会让客户端对服务器证书的校验更为严格,导致常规的抓包方法(即使将 BurpSuite/Charles 证书安装到系统信任区)也无法生效。因此,从本章开始,我们将系统学习 SSL Pinning 机制的绕过技术。SSL Pinning(证书绑定)是客户端校验服务器身份的进阶安全机制。

水滴石穿 1612

对比6个RAG知识库文档处理工具

最近在给智能客服项目选择 RAG 知识库的数据处理工具,就重新看了一遍目前主流的文档处理项目,包括 olmOCR、Marker、MinerU、Docling、Markitdown、Llamaparse 这6个工具,并且对它们进行了简单对比。1. olmOCR技术架构:基于大语言模型构建了完整的 PDF 处理流程。它采用分布式架构,支持单机和多节点并行处理,并利用sglang实现GPU加速推理。

m0_65555479的博客 4736

pymol 动画简单制作,gif、mp4导出

参考: https://www.youtube.com/watch?v=G77K9Lro8js1、直接Movie下Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec;如果要动画过渡自然,可以在这4sec后面再Append 1sec;如果需要两个视角,既可以再把窗口蛋白定位到比如配体,不用管中间过程怎么定位过去配体,再Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec添加;最后如果要整体形成个循环播放,可以在这4s

weixin_42357472的博客 8447

Python 爬虫实战:爬虫与 ECharts 结合 —— 前端可视化展示

本文介绍了爬虫技术与ECharts可视化结合的完整实现流程。首先使用Python爬取京东商品数据(价格、评价数等),通过BeautifulSoup解析和pandas处理转换为JSON格式。然后构建前端页面,利用ECharts实现价格分布柱状图、价格-评价数散点图和店铺占比饼图三种可视化效果。文章详细解析了爬虫数据提取、格式转换和前端图表配置等关键技术点,并提供了完整的代码示例。最后提出了基于API接口、数据库存储等扩展方向,为数据采集到可视化展示提供了完整的解决方案。

2503_91057718的博客 633

DeepSeek+ragflow构建企业知识库之工作流,突然觉的dify又香了

我们按照下图的数据介绍组件。ragflow的的官方文档相对来说还是比较欠缺的,特别是用户交互这块。ragflow的ui使用成本相对比较高,组件不知道返回什么,只能根据示例或意图推断使用ragflow建议是有技术底子的英文文档的描述习惯和中文还是有很大的差别的。

m0_59163425的博客 5320

C++幂运算全解析:std::pow()函数详解与实战指南

本文详细介绍了C++标准库中的std::pow()函数,包括其基本用法、数学定义和多种重载形式。重点分析了该函数在科学计算、图形处理等领域的实际应用,并提供了性能优化方案如快速幂算法和预计算表。文章还探讨了精度控制、错误处理等关键问题,最后通过一个完整计算器实现展示了综合应用。std::pow()作为基础数学函数,合理使用能显著提升计算效率和代码可靠性。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 340

大模型RAG技术 | 一文解析RAG系统的十大核心组件

当被问及AI系统表现不佳的原因时,90%的情况下问题并不出在模型本身,而是源于RAG系统中被忽视的核心组件:低效的文本分块、劣质的检索结果或存在干扰的提示词。优秀的RAG系统不是靠调参炼出来的,而是通过精心设计系统架构实现的。掌握这10大核心组件后,你不仅能开发出更强大的LLM应用,更能打造出可靠、可信、可直接投产的用户级工具。

老皮的博客 1206

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

RAG是什么,一文看懂什么是RAG

检索增强生成(RAG)是一种用于构建大型语言模型(LLM)驱动型应用的技术。它借助外部知识源,为大型语言模型提供相关背景信息,从而减少幻觉现象。就好比给 LLM 配备了一个小型的“资料库”,当用户提出问题时,系统会在资料库中查找相关内容并提供给 LLM,以帮助其生成更准确的回答。基本的 RAG 流程包括检索组件(通常由嵌入模型和向量数据库组成)和生成组件(大型语言模型)。在推理阶段,用户问题用于在已索引的文档上执行相似性搜索,检索出与问题最相似的文档,并为大型语言模型提供额外的背景信息。

ytt0523_com的博客 3418

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

7种RAG 架构及其核心组件概览

Retrieval-Augmented Generation(RAG)架构正发挥着日益重要的作用。它通过在 AI 生成过程中引入外部知识检索,极大地提升了 AI 回答的准确性和全面性,从基础的文档查询逐步发展为多模态、多智能体协同的智能架构。本文将概览 RAG 架构从基础到高级的 7 种模式及其核心组件。

2401_85328934的博客 1610

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

一文带你了解什么是LangChain

摘要: LangChain是一个开源的AI应用开发框架,通过模块化设计解决大模型应用中的问题,如数据滞后、幻觉等。其核心包括Model I/O、Retrieval、Memory等六大组件,支持RAG、智能代理等场景。凭借高认可度(GitHub 117k⭐)、易用性、可扩展性和可观测性(集成LangSmith平台),LangChain简化了开发流程,适用于智能问答、自动化任务和对话系统。未来,其Agent系统与工具生态的持续优化将推动企业级AI应用发展。

liangjiyong的博客 1604

理解RAG系统的十大核心组件

当我刚开始构建大语言模型应用时,以为添加实时上下文只需在提示词后附加几段文字。事实远非如此。要打造可靠、准确且可用于生产环境的系统,意味着必须重新设计从输入处理到可观测性的每个环节。这正是检索增强生成(RAG)技术带来革命性突破的关键所在。

m0_59164520的博客 1175

【一文了解】RAG引擎-RAGFlow

在人工智能领域,大模型RAG(Retrieval-Augmented Generation)技术正成为提升大语言模型性能的关键。RAG技术通过结合检索机制和生成模型,使大型语言模型能够访问和利用外部知识库,生成更加准确和相关的回答。目前,热门的RAG工具包括RAGFlow、QAnything、FastGPT、Langchain-Chatchat等,它们各具特色,满足从文档解析到任务流编排的不同需求。

嘴巴吃糖了 5091

一文讲清 RAG 核心组件:LangChain 与 Embedding 的关系与应用

LangChain作为当前最热门的开源RAG(Retrieval-Augmented Generation,检索增强生成)框架,正在重塑我们处理非结构化数据的方式。在RAG框架中,检索环节至关重要,而Embeddings技术则是实现高效检索的核心组件之一。

2401_85373691的博客 1621

RAG是什么?一文讲清楚RAG原理与典型系统架构!

RAG,全称为Retrieval Augmented Generation,即检索增强生成。它是一种将外部知识检索与大型语言模型的生成能力相结合的人工智能技术框架。其核心思想是在大型语言模型(LLM)处理用户查询并生成回答之前,首先从一个或多个外部知识源(如数据库、文档集合、API等)中检索与查询相关的、最新的信息片段。然后,这些检索到的信息将作为额外的上下文(Context)注入到LLM的提示(Prompt)中,从而引导LLM生成更准确、更相关、更具事实性的内容。

kaka0722ww的博客 4234

RAG知识库:一文带你速通RAG、知识库和LLM

检索增强生成(Retrieval Augmented Generation,RAG)是一种强大的工具,它通过将企业外部知识整合到生成过程中,增强了大语言模型(LLM)的性能。

2401_82469710的博客 1204
上一篇: RAG 系统从 POC 到生产应用:全面解析与实践指南
下一篇: Claude 3.5 +LlamaIndex+Milvus,六步教你搭建Agentic RAG
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2840原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值