python从零实现RAG增强
文章平均质量分 96
从零构建检索增强生成技术。摒弃现有框架,基于Python基础库和NLP工具,手把手实现知识整理、文本检索、知识库构建、RL增强等核心模块,并结合生成模型搭建端到端RAG系统。内容涵盖文本分块、查询转换、重排序、上下文增强、HyDE、分层/自适应RAG等增强技术
AI仙人掌
NLP算法专家|深耕智能文本处理领域,专注用AI技术驱动金融与政务场景的数字化转型
技术核心能力
领域专长
• 金融政务场景:10年+垂直领域经验,聚焦智能风控、政务文档解析、高精度信息抽取
• 文本智能处理:构建金融合同解析、监管文件结构化、政务问答系统等20+行业解决方案
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RAG技术综合评测:python从零实现
本文探讨了各种不同的RAG(检索增强生成)技术,以寻找在信息检索和响应生成任务中的最佳解决方案。从简单的分块策略开始,逐步深入到更复杂的技术,例如上下文丰富、查询转换、重排序、知识图谱、层次索引、HyDE(假设文档嵌入)、融合、多模态RAG以及自适应RAG等。研究发现,不同技术在不同场景下表现出各自的优势。例如:- **上下文丰富检索**通过抓取相邻块来增强背景信息。- **层次索引**结合摘要与详细块检索,提供速度与精度的平衡。- **融合RAG**结合向量搜索和关键字搜索的优势,显著提升相关原创 2025-03-21 00:15:00 · 2672 阅读 · 25 评论
-
RAG系统“一周出demo,三月用不好“
随着大语言模型(LLM)的广泛应用,检索增强生成(RAG)技术作为一种结合检索技术和LLM提示的创新架构,因其在结合外部知识库和生成模型方面的卓越表现而备受关注。RAG系统通过将LLM与结构化或非结构化的外部数据源相结合,显著提升了生成内容的准确性、相关性和可信度。RAG在聊天机器人、知识密集型任务和企业应用中表现出色。然而,从理论到工程实践,开发和优化一个高效的RAG系统并非易事,RAG系统面临着诸多挑战。本文将系统性分析RAG系统的开发难点与优化路径。原创 2025-03-16 11:45:00 · 1157 阅读 · 0 评论
-
RAG优化:python从零实现一个文本语义分块算法
文本分块是检索增强生成(RAG)中的一个关键步骤,通过将大段文本划分为有意义的段落来提高检索准确性。与固定长度的分块不同,语义分块基于句子之间的内容相似性来划分文本。我们实现了基于语义分块的文本分割方法,并使用OpenAI的嵌入模型进行了语义搜索和响应生成。通过评估AI助手的响应,我们可以进一步优化模型的性能。原创 2025-03-20 16:43:41 · 659 阅读 · 22 评论
-
朴素RAG:Python从零实现
检索增强生成(RAG)是一种将信息检索与生成模型相结合的混合方法。它通过引入外部知识来增强语言模型的性能,从而提高准确性和事实正确性。数据摄取:加载并预处理文本数据。分块:将数据分成较小的块以提高检索性能。嵌入创建:使用嵌入模型将文本块转换为数值表示。语义搜索:根据用户查询检索相关块。响应生成:使用语言模型基于检索到的文本生成响应。本文实现了一个简单的RAG方法,评估模型的响应,并探索各种改进。原创 2025-03-20 16:07:59 · 543 阅读 · 7 评论
-
大部分时间你是需要融合结构化数据的检索增强生成(RAG)
结构化RAG:精准智能问答的核心技术 结构化RAG(检索增强生成)是传统RAG的升级版本,通过逻辑推理而非语义相似性实现精准问答。其核心流程包括四个关键步骤: 智能解析:采用布局感知分块技术,保留文档逻辑结构 知识提取:将文本转化为"实体-关系-属性"三元组 知识图谱构建:建立结构化索引系统(实体/动作/主题索引) 混合查询机制: 先进行符号逻辑搜索(确保精确性) 低置信度时自动切换向量搜索(保证灵活性) 这种架构使系统既能处理"列出爱丽丝批准的合同"等精确查询,也能原创 2025-07-14 14:26:10 · 158 阅读 · 0 评论 -
详解代理型RAG与MCP服务器集成
代理型RAG通过引入AI代理优化传统检索增强生成技术,实现动态多步骤检索与跨工具协作。其核心组件包括路由代理、查询规划代理、ReAct代理及计划执行代理,分别承担智能调度、任务分解、自适应执行和自主决策功能。模型上下文协议(MCP)作为关键基础设施,标准化AI与外部数据源的交互,通过MCP服务器实现长期记忆存储和工具集成。典型架构中,代理通过MCP客户端协调多知识源检索,结合LLM生成更精准的响应。这种结合显著提升了系统的灵活性、适应性和准确性,推动RAG向主动式智能问题解决范式演进。原创 2025-06-03 09:01:43 · 253 阅读 · 2 评论 -
RAG系统中如何检测幻觉?
研究发现即使基于真实医学证据的RAG系统仍会产生不可靠输出。系统可能错误引用来源、混合信息或表现出虚假确定性,这些隐蔽错误在医疗领域尤为危险。文章提出三重检测技术:1)来源归属验证答案与证据的匹配度;2)一致性检查通过重复提问识别矛盾;3)语义熵量化隐藏不确定性。实验显示基础RAG忠实度仅0.40,经优化提升至0.66,表明60%答案存在潜在风险。三种技术形成分层防护网,互补捕捉不同类型幻觉,比单一方法更全面保障医疗AI安全性。原创 2025-06-02 13:43:02 · 152 阅读 · 0 评论 -
三层固定实体架构:高效实现图上的检索增强生成(RAG)
本文介绍了一种用于构建知识图谱的三层架构,结合了固定本体实体、文档片段和提取的命名实体。该架构通过嵌入和余弦相似度提高检索效率,并允许在查询期间更精确地遍历图。第一层(FEL1)代表通过领域专家构建的本体“骨架”,第二层(DL2)由分块文档组成,第三层(SEL3)包括从文档中提取的命名实体。通过计算FEL1和DL2之间的余弦相似度建立连接,SEL3进一步增强了图遍历和检索精度。这种方法提供了一种可扩展且成本效益高的替代大型语言模型(LLM)的方案,符合当前检索增强生成(RAG)系统的发展趋势。原创 2025-05-17 20:30:00 · 468 阅读 · 0 评论 -
用NLP搭建知识图谱:低成本打造RAG和GraphRAG的超酷秘籍
### 摘要本文介绍了一种利用自然语言处理(NLP)技术构建知识图谱的方法,用于实现混合RAG(检索增强型生成)和GraphRAG(图增强型检索)应用。作者提出了一种分层图架构,通过提取文本中的令牌、双词组和三词组,并利用小型本地LLM生成的三元组关系来增强图的语义连接。这种方法避免了对大型云模型的依赖,大大降低了成本,同时提高了检索的准确性和灵活性。实验结果表明,这种混合方法能够提供更全面和深入的答案,为大规模GenAI项目提供了新的解决方案。原创 2025-05-18 00:15:00 · 150 阅读 · 0 评论 -
构建最优的 RAG 检索增强生成系统:为你的数据集找到最优解
本文介绍了如何为数据集创建最佳的RAG(检索增强生成)管道。通过系统性地测试不同的参数组合(如分块大小、重叠度、检索数量)和策略(简单RAG、查询重写、重排),结合忠实度、相关性和语义相似度等评估指标,找出最适合特定数据集的RAG配置。实验结果表明,简单RAG策略在效率和效果上表现最佳。文章还提出了未来可进一步探索的方向,如测试更多模型、优化提示和混合搜索策略等。原创 2025-05-05 00:30:00 · 1318 阅读 · 44 评论 -
使用 Streamlit 构建一个基于 RAG 的 SQL 助手
本文介绍了如何构建一个基于检索增强(RAG)系统的 SQL 助手,使用户能够通过自然语言查询多个数据库。该系统利用大型语言模型(LLM)和 LangChain、LangGraph 等工具,结合 Streamlit 构建用户友好的聊天界面,支持连接 SQLite、BigQuery 和 Redshift 数据库。文章详细阐述了系统的工作原理、技术架构以及实现步骤,并提供了完整的代码仓库。同时,作者也指出了当前系统的局限性,如缺乏对话记忆和错误处理机制,并提出了改进方向。原创 2025-05-05 00:15:00 · 565 阅读 · 5 评论 -
如何打造高性能RAG系统:从原型到生产级的16种实战技巧(第1部分)
### 摘要本文深入探讨了如何将检索增强生成(RAG)系统从实验室原型升级为生产级应用的实战技巧。文章首先回顾了RAG系统的基础架构,包括数据分块、嵌入生成、向量数据库存储、查询检索和响应生成等关键步骤。接着,详细介绍了优化数据准备、提升检索精度、优化响应生成、提高系统效率以及持续评估与改进的五大策略。通过16种实用技巧,本文旨在帮助开发者解决RAG系统在实际应用中面临的性能瓶颈、幻觉问题和低效检索等挑战,从而构建出高效、可靠且智能的RAG应用。原创 2025-04-23 00:00:00 · 5795 阅读 · 49 评论 -
详解如何一步步拿下企业年报问答RAG挑战赛冠军
本文揭秘如何斩获企业级RAG挑战赛双料冠军的完整技术方案。面对100份千页PDF年报的极限解析任务,他创新性地组合了GPU加速解析、多级检索路由和LLM重排序等技术:先用改造后的Docling解析器40分钟完成文本提取,再通过"小块定位+整页返回"的检索策略平衡精度与上下文,最后用结构化提示词工程让GPT-4o-mini在2分钟内完成100道题的高精度作答。文章幽默呈现了与PDF格式的搏斗历程,揭示了表格序列化实验的反转结局,并强调冠军方案的核心在于对业务场景的深度理解原创 2025-04-15 00:00:00 · 7837 阅读 · 59 评论 -
【论文精读与实现】EDC²-RAG:基于动态聚类的文档压缩方法提升检索增强生成RAG性能
首次系统性地处理RAG中的文档关系建模问题提出计算高效的动态聚类方案验证了压缩技术对长上下文处理的增益依赖GPT-3.5的压缩能力高冗余场景下的计算成本线性增长缺乏对跨语言场景的验证这项研究为RAG系统的优化提供了新思路,其核心思想也可应用于其他信息检索场景,值得算法工程师深入理解和实践。原创 2025-04-11 00:15:00 · 396 阅读 · 5 评论 -
python从零实现多模态Multi-Modal RAG:RAG 的“跨界”之旅,从书呆子到全能艺术家
从只会埋头苦读的“书呆子”,到如今既能读懂文字又能看懂图像的“全能艺术家”,RAG 的成长简直像是一部励志大片!它不仅学会了“看图说话”,还能把图像和文本完美结合,变成知识检索界的“黄金搭档”。文本分块:像切蛋糕一样把文本切成小块,方便消化。图像描述:给每张图像配上“解说词”,让它们不再默默无闻。向量存储:把文本和图像描述变成“数字密码”,存进它的“记忆库”。相似度搜索:像侦探一样,快速找到最相关的信息。生成响应。原创 2025-03-31 00:00:00 · 667 阅读 · 0 评论 -
RAG优化:python从零实现GraphRag 一场文档与知识的“恋爱”之旅
经过一番“轰轰烈烈”的代码操作和文档处理,我们的 Graph RAG 项目终于圆满落幕了!就像一场精心策划的“相亲大会”,Graph RAG 成功地将文档们通过知识图谱连接在一起,让它们不再是孤零零的“单身狗”,而是成为了彼此依赖的“灵魂伴侣”。虽然 Graph RAG 表现得非常出色,但它毕竟还是一个“初出茅庐”的“红娘”,在处理某些复杂问题时,可能还需要进一步的优化和调整。比如,在面对长距离依赖问题时,Transformer 虽然强大,但也需要更多的计算资源和数据支持。原创 2025-03-27 00:15:00 · 566 阅读 · 26 评论 -
RAG优化:python从零实现纠正检索增强生成(Corrective RAG)
CRAG致力于提升生成过程的鲁棒性,设计为一种可无缝嵌入到现有RAG架构中的即插即用工具,旨在减轻因检索不准确而导致的问题影响。其核心技术包括部署一个轻量级的检索评估器,该评估器能够对针对特定查询检索到的文档进行详尽的评价,量化文档与查询的相关性及可靠性,并基于此触发三个不同等级的知识检索动作:正确的、错误的或模糊不清的。原创 2025-03-25 18:30:00 · 698 阅读 · 0 评论 -
RAG优化:Python从零实现假设性文档嵌入(HyDE)
HyDE是一种创新的检索技术,它能在检索前把用户查询转换成"假设性答案文档"。这就像是你问"怎么做红烧肉?",系统先脑补出一本《中华美食大全》,然后再去书架上找最匹配的菜谱。传统RAG系统直接嵌入用户的短查询,但这就好比用钓鱼竿去捞鲸鱼——不太给力啊!生成一个回答查询的假设性文档嵌入这个扩展后的文档而不是原始查询检索与这个假设性文档相似的文档生成更具上下文相关性的答案好啦,亲爱的读者朋友们,今天的HyDE之旅就到这里啦!原创 2025-03-25 12:17:43 · 728 阅读 · 0 评论 -
RAG优化:Python从零实现分层索引Hierarchy黑科技拯救迷失的文本碎片
本文详细介绍了如何实现这一分层索引方法,包括文档处理、向量存储、嵌入生成、摘要生成和分层检索的步骤。通过对比分层RAG和标准RAG方法,本文展示了分层检索在准确性、全面性和连贯性方面的优势。最后,本文提供了一个完整的RAG管道实现,并对其进行了评估,证明了分层检索在处理复杂查询和大规模文档时的有效性。原创 2025-03-27 00:00:00 · 698 阅读 · 1 评论 -
RAG优化:python从零实现Fusion Retrieval(混合检索融合向量搜索和关键词搜索)
大家好,欢迎来到今天的“AI相亲大会”!和。向量搜索是个“文艺青年”,擅长理解语义,但有时候过于“感性”,容易忽略关键词的精确匹配。而关键词搜索则是个“理工男”,做事一丝不苟,关键词抓得准,但缺乏“情商”,理解不了复杂的语义。于是,我们决定让这两位“喜结连理”,诞生了一个全新的“混血儿”——!它不仅继承了父母的优点,还青出于蓝而胜于蓝,既能理解语义,又能精准匹配关键词。今天,我们就来看看这个“混血儿”是如何在信息检索的世界中大展身手的!准备好了吗?让我们一起见证这场“AI界的完美婚姻”吧!原创 2025-04-01 00:15:00 · 561 阅读 · 2 评论 -
RAG优化:python从零实现Proposition Chunking[命题分块]让 RAG不再“断章取义”,从此“言之有物”!
实现了一个完整的命题分块系统,并将其与传统的基于块的分块方法进行了比较。命题分块通过将文档分解为原子化的事实性陈述,显著提高了检索的准确性和响应质量。希望这个实现对你有所帮助!注意:如果你有任何问题或需要进一步的帮助,请随时联系我!😄。原创 2025-04-02 00:15:00 · 707 阅读 · 1 评论 -
RAG优化:python从零实现时间管理大师Self-RAG
实现了一个带有反馈循环的RAG系统,通过收集和整合用户反馈,系统能够从每次交互中学习,提供更相关和更高质量的响应。最终提升了RAG的响应效果原创 2025-03-25 00:15:00 · 741 阅读 · 4 评论 -
RAG优化:Python从零实现强化学习RL增强
我们最简单的 RAG 从查询和文档开始,文档被分块。嵌入模型根据查询找到相关块,并将前 K 个块作为上下文传递给 LLM,以生成该查询的响应。基于 RL 的 RAG我们的基于 RL 的 RAG 使用 RL 代理,该代理根据 LLM 的响应采取行动。行动可以包括重写查询、检索更多块或删除不相关的块。代理继续此过程多步(回合),直到获得最佳结果。让我们回顾一下这段奇妙的旅程:我们从最简单的 RAG 管道出发,一路披荆斩棘,最终用强化学习(RL)让它从“呆萌”变成了“机智”。原创 2025-03-24 07:29:38 · 2271 阅读 · 26 评论 -
【实测闭坑】LazyGraphRAG利用本地ollama提供Embedding model服务和火山引擎的deepseek API构建本地知识库
这个模块的核心功能是通过自然语言处理技术从文本中提取名词短语,构建名词图,并计算节点之间的关系强度。它使用了并行处理和缓存机制来提高性能,并提供了边权重标准化的选项。我首先测试了LazyGraphRAG利用本地ollama提供Embedding model服务和火山引擎的deepseek API构建本地知识库。网上很多教程都是很老的,说利用ollama需要改源码,目前的版本是不需要改任何源码的,直接设置好配置文件即可。主要原因deepseek-V3也不是很友好啊,我没钱prompt 微调啊,晕死。原创 2025-03-17 23:00:22 · 935 阅读 · 15 评论 -
RAG优化:python从零实现自适应检索增强Adaptive Retrieval
利用python逐步实现一个自适应检索系统,它能够根据查询类型动态调整检索策略,从而显著提升RAG系统的响应质量和准确性。无论是事实性、分析性、观点性还是上下文性查询,系统都能灵活应对,确保用户获得最相关的信息。原创 2025-03-24 07:30:00 · 1022 阅读 · 35 评论 -
RAG优化:python从零实现[吃一堑长一智]循环反馈Feedback
实现了一个带有反馈循环的RAG系统,通过收集和整合用户反馈,系统能够从每次交互中学习,提供更相关和更高质量的响应。最终提升了RAG的响应效果原创 2025-03-24 00:15:00 · 1078 阅读 · 6 评论 -
RAG优化:python从零实现长上下文压缩技术
优化维度技术目标用户体验提升效率提升降低计算成本,加速推理回答更快,成本更低质量保障减少噪声,抑制幻觉答案更准确,更可信灵活性增强适配多样下游任务满足复杂场景需求(问答/摘要/报告)资源友好突破上下文长度限制处理更长文档,支持更复杂查询。原创 2025-03-23 00:30:00 · 764 阅读 · 0 评论 -
RAG优化:python从零实现Relevant Segment Extraction(相关片段提取RES)增强
本篇将实现了一种相关片段提取(RSE)技术,以提升RAG系统中的上下文质量。RSE是RAG的“文本米其林指南”,让AI的思考从“快餐式检索”升级为“精品料理”。🍷与其简单地检索一堆孤立的文本块,我们识别并重建连续的文本片段,从而为我们的语言模型提供更好的上下文。- 1- 4基于本地的模型进行语义嵌入,可以利用FlagEmbedding,可以好好学习下,量大的话api的嵌入还是比较贵的哦!原创 2025-03-23 00:15:00 · 777 阅读 · 0 评论 -
RAG优化:python从零实现检索后重排序Rerank增强
重排序是RAG系统的「质检员」和「调音师」—— 既剔除噪音,又校准信号,让生成结果从「能用」升级为「好用」。无论是基于LLM的重排序还是基于关键词的重排序,都能在一定程度上提升系统的表现。当然,如果初始检索已经完美,重排序可能只是锦上添花,但现实世界的数据嘛…你懂的 😏,本文利用python实现了一个完整的RAG管道,并展示了如何通过重排序技术提高检索质量。以提高RAG系统中的检索质量。重排序作为初始检索后的第二道过滤步骤,确保使用最相关的内容生成响应。原创 2025-03-22 00:30:00 · 827 阅读 · 3 评论 -
RAG优化:python从零实现query转换增强技术
本篇仍然是不依赖于LangChain等专用库,利用python基本库实现了三种查询转换技术这一技术是RAG系统实现“智能增强”的关键环节,尤其在处理开放域、多模态或高专业性的场景时不可或缺。- 1- 4基于本地的模型进行语义嵌入,可以利用FlagEmbedding,可以好好学习下,量大的话api的嵌入还是比较贵的哦!原创 2025-03-21 09:03:55 · 545 阅读 · 1 评论 -
RAG优化:python实现基于问题生成(扩展语义表示、优化检索粒度和提升上下文关联性)的文档增强RAG
本文展示了如何通过问题生成增强RAG(Retrieval-Augmented Generation)方法,从而提升检索和生成响应的质量。通过为每个文本块生成相关问题,我们能够更精确地检索相关信息,并生成更准确的回答。整个过程包括文本提取、分块、问题生成、嵌入创建、向量存储构建、语义搜索、响应生成和评估。检索精度提升:通过为每个文本块生成相关问题,检索系统能够更好地理解文本内容,从而提高检索的准确性。响应质量优化:基于检索到的相关问题和文本块生成的响应更加准确和全面。可扩展性。原创 2025-03-20 18:33:14 · 238 阅读 · 0 评论 -
RAG优化:python从零实现上下文分块标题Contextual Chunk Headers提升RAG系统精度
检索增强生成(RAG)通过检索相关的外部知识来提高语言模型的事实准确性。然而,标准的分块方法通常会丢失重要的上下文信息,导致检索效果不佳。Contextual Chunk Headers通过显式引入上下文标题,有效弥补了传统分块方法的语义断裂问题,是提升RAG系统精度的低成本高收益策略。其实现需结合领域特性优化标题生成、嵌入融合和权重分配策略,同时在工程实践中平衡质量与效率。未来可探索结合知识图谱的标题生成、多模态上下文增强等方向。- 1- 4。原创 2025-03-20 18:03:37 · 280 阅读 · 0 评论 -
RAG优化:python从零实现上下文感知(扩展)增强检索效果
检索增强生成(RAG)通过从外部知识源检索相关信息来增强AI的响应能力。传统的检索方法,这可能导致回答不完整。为了解决这个问题,通过结合,基于上下文的RAG能够显著提升回答的连贯性和准确性。实际应用中需根据具体场景调整参数,并通过持续评估优化各环节,以实现最佳效果。- 1。原创 2025-03-20 18:04:23 · 255 阅读 · 0 评论 -
RAG优化:python从零实现基于块大小选择平衡检索性能与响应质量
在检索增强生成(RAG)管道中,选择合适的块大小对于提高检索准确性至关重要。目标是平衡检索性能与响应质量。最佳块大小需通过实验确定,核心在于平衡任务需求、数据特性和模型能力。动态分块与混合策略通常优于固定分块,结合后处理技术(如重排序)可进一步提升效果。持续监控和迭代是关键,尤其是在数据分布变化时需重新评估分块策略。- 1。原创 2025-03-20 17:00:18 · 195 阅读 · 0 评论
分享