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

RAG开发

🍋🍋大数据学习🍋🍋

🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


RAG(Retrieval-Augmented Generation):

通⽤的基础⼤模型存在一些问题:检索增强生成

  • LLM的知识不是实时的,模型训练好后不具备自动更新知识的能力,会导致部分信息滞后

  • LLM领域知识是缺乏的,大模型的知识来源于训练数据,这些数据主要来自公开的互联网和开源数据集,无法覆盖特定领域或高度专业化的内部知识

  • 幻觉问题,LLM有时会在回答中⽣成看似合理但实际上是错误的信息

  • 数据安全性

RAG(Retrieval-Augmented Generation)即检索增强生成,为大模型提供了从特定数据源检索到的信息,以此来修正和补充生成的答案。可以总结为一个公式:RAG = 检索技术 + LLM 提示

2. RAG标准流程

RAG 标准流程由索引(Indexing)、检索(Retriever)和生成(Generation)三个核心阶段组成。

  • 索引阶段,通过处理多种来源多种格式的文档提取其中文本,将其切分为标准长度的文本块(chunk),并进行嵌入向量化(embedding),向量存储在向量数据库(vector database)中。

  • 加载文件

  • 内容提取

  • 文本分割 ,形成chunk

  • 文本向量化

  • 存向量数据库

(向量数据库:Weaviate、Milvus、Chroma、Faiss)

维度WeaviateMilvusChromaFaiss
定位语义搜索、RAG系统大规模AI应用向量数据库轻量化嵌入式向量数据库高效相似性搜索库
性能高性能,支持实时查询超高性能,支持海量数据高性能,适合中小规模数据极高性能,支持百亿级向量
可扩展性支持水平扩展支持水平扩展和存储计算分离适合从小规模到大规模应用依赖硬件资源,适合大规模数据
易用性提供RESTful API和SDK提供简单API和可视化管理界面提供简洁Python API提供C++和Python接口
适用场景语义搜索、知识图谱、推荐系统图像识别、社交媒体分析、推荐系统问答系统、知识库检索、个性化推荐信息检索、机器学习、深度学习
  • 检索阶段,用户输入的查询(query)被转化为向量表示,通过相似度匹配从向量数据库中检索出最相关的文本块。

  • query向量化

  • 在文本向量中匹配出与问句向量相似的top_k个

  • 生成阶段,检索到的相关文本与原始查询共同构成提示词(Prompt),输入大语言模型(LLM),生成精确且具备上下文关联的回答。

  • 匹配出的文本作为上下文和问题一起添加到prompt中

  • 提交给LLM生成答案:

RAG开发框架

面向RAG的开发框架,对于基于 LLM 的流水线和应用程序,有两个最著名的开源工具——分别是在2022年10月和11月创建的 LangChain 和 LlamaIndex。

RAG:langchain+Llamaindex

Llamalndex:文档管家,专注于"把文档变成可搜索的智能索引" 核心能力:文档处理,语义检索(让Al查到资料) LangChain(流程导演),专注于:把AI的思考步骤,工具调用。

对话逻辑串起来.例如:你想让AI先查资料->再整理成回答->最后生成PPT LangChain就会把这些步骤编成一条"链",还能集成工具(调用Python绘图,调用谷歌搜索),管理对话记忆(记住上轮信息)核心能力:流程编排,工具集成,对话管理(让Al"会思考,会做事")

配合使用,先用LlamaIndex处理文档,再使用LangChain搭建应用。

  1. LangChain

    RAG 是检索增强生成的缩写。它是一种将信息检索大语言模型 相结合的架构。在回答问题或生成文本时,RAG会先从外部知识库中检索相关信息,然后将这些信息作为上下文提供给LLM,从而生成更准确、可靠的答案。

    • 定位:模块化、多功能的LLM应用开发框架,支持复杂工作流和交互式应用。

    • 核心功能:

      • 链式机制:通过串联多个组件(如数据加载、模型调用、结果处理)构建连续处理流程。

      • 代理(Agent):利用LLM的推理能力动态决定操作顺序,实现自适应交互。

      • 多模态支持:集成文本、图像、视频、API等多源数据,支持跨模态任务。

      • 工具生态:提供现成的链、代理模板和部署工具(如LangServe、LangSmith)。

    • 适用场景:多轮问答、工具调用系统、自动化数据分析、复杂AI助手等。

  2. LlamaIndex

    • 定位:专注于数据索引与检索的LLM增强框架,优化数据与模型的交互效率。

    • 核心功能:

      • 数据连接器:支持PDF、PowerPoint、Notion、Slack、Postgres、MongoDB等多样数据源。

      • 智能索引:将文档分割为“Node”对象并构建索引,支持基于语义的快速检索。

      • 查询引擎:通过NLP和提示工程实现自然语言查询,支持对话式交互。

      • RAG优化:动态检索最相关数据片段,增强LLM生成内容的准确性和上下文相关性。

    • 适用场景:企业文档搜索、知识库问答、垂直领域数据检索等。

http://www.dtcms.com/a/449677.html

相关文章:

  • 季度优选策略:年化472%,回撤 8%,夏普5.48,卡玛比率61.55
  • 直播网站建设费用做音乐的网站设计
  • 基于springboot的蜗牛兼职网的设计与实现
  • 网站管理系统是什么wordpress 分类浏览
  • Docker(五)—— Docker Compose 一键搭建 LNMP 架构并部署 WordPress
  • uniapp开发的后台系统
  • 深圳网站营销公司网站做实名验证
  • python编写AI生常用匡架及使用指令集
  • GridView 中使用重绘边界的实用建议
  • FPGA学习篇——Verilog学习之计数器的实现
  • 网站建设万网浙江建设网站公司
  • 刷粉网站推广快点商标设计注册
  • MySQL 配置管理与日志系统完全指南:从基础到高级优化
  • Leecode hot100 - 279. 完全平方数
  • 珠宝营销型网站设计珠海做网站及推广
  • 视频原创度检测算法对比
  • Spring MVC 九大组件源码深度剖析(九):FlashMapManager - 重定向数据的守护者
  • 网站设计上市公司继续浏览此网站(不推荐)
  • The “Launch” - 价值交付与灰度发布
  • 做网站公司(信科网络)网站开发外包报价
  • libopenssl1_0_0-1.0.2p-3.49.1.x86_64安装教程(RPM包手动安装步骤+依赖解决附安装包下载)
  • 有些人做网站不用钱的 对吗网站建设经典范例
  • C52-二级指针
  • 【微科普】PID 多久计算一次?(第四弹):嵌入式系统中 PID 控制周期的科学选择与实践
  • 目前流行的网站开发设计廊坊商昊网站建设
  • 《WSGI 到 ASGI:Python Web 架构的演进与桥梁之道》
  • 数据库完整指南:从基础到 Django 集成
  • 福建设计招聘网站seo sem什么意思
  • 用scala做的网站视频网址链接哪里找
  • 基于pyqt5实现的视频抽帧工具源码+项目说明用于目标检测图片采集