基于LangChain构建RAG问答系统
LLM 关键概念:
- prompts
- token
- Models
第一步构建索引库, 如下图所示:
- 加载非结构化数据
- 切片
- 向量化
- 向量存储
第二步:
- 将问题向量化
- 去向量数据库检索
- 构建打包为一个prompts
- 将prompts丢给大模型
- 生成答案
RAG
检索增强生成(Retrieval-Augmented Generation,RAG)是一种结合了检索和生成的机器学习方法,通常用于自然语言处理(NLP)任务。以下是对检索增强生成的简单介绍:
一、核心思想
RAG方法的核心是利用外部知识库或预训练模型来增强生成过程中的信息检索和利用。在生成文本时,RAG会先通过某种检索机制从外部资源中获取相关的信息,然后将这些信息融合到生成的文本中。这样,生成的文本不仅包含了模型自身的生成能力,还融入了外部资源中的丰富信息,从而可以提高生成文本的质量。
二、应用场景
RAG方法广泛应用于各种需要准确且上下文相关信息的NLP任务中,如:
问答系统:通过检索相关知识和信息,生成更准确的回答。
聊天机器人:结合实时数据和模型推理,提供更自然、更丰富的对话体验。
搜索引擎:优化搜索结果,提供更相关、更准确的网页或文档。
知识引擎:整合多种知识源,生成更全面、更深入的知识解答。
三、技术特点
RAG方法具有以下几个显著的技术特点:
结合检索和生成的优势:RAG结合了基于检索和基于生成的模型的优势,既能够利用外部知识库中的丰富信息,又能够保持模型自身的生成能力。
提高生成文本的质量:通过融入外部资源中的信息,RAG生成的文本更加准确、丰富和有说服力。
降低训练成本:RAG无需为特定任务重新训练或微调预训练模型,因为它可以利用现有模型并使用相关数据进行增强。
适应性强:RAG能够处理多种类型的输入和输出,适用于不同的NLP任务和领域。
四、实现方式
RAG方法的实现通常包括以下几个步骤:
索引:从源中获取数据并建立索引,以便在后续检索过程中快速查找相关信息。
检索:根据用户查询或任务需求,从索引中检索相关的数据或知识。
融合:将检索到的信息融合到生成模型中,以指导文本的生成过程。
生成:利用融合后的信息,生成最终的文本输出。
五、发展趋势
随着自然语言处理技术的不断发展,RAG方法也在不断完善和优化。未来,RAG方法可能会更加注重实时性和准确性,同时结合更多的先进技术,如深度学习、强化学习等,以进一步提升其在各种NLP任务中的表现。
综上所述,检索增强生成(RAG)是一种强大的自然语言处理方法,它结合了检索和生成的优势,提高了生成文本的质量,并广泛应用于各种NLP任务中。
工作流:
向量存储
文本向量:
keyword、sql 都是精确匹配
vector store:
思考: 百度、Google 图片搜索功能怎么实现的?
从海量的图片中检索出有山脉的图片?如何实现?
- 底层就是使用向量,从图片中提取特征,向量化
切片
模型下载地址:
国内:modelscope
国外:Hugging Face
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/18692646
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
2022-01-27 BeautifulSoup 解析HTML