深度学习-102-RAG技术之基于langchain模块构建的检索增强生成RAG系统

ops/2025/2/21 4:46:33/

文章目录

  • 1 RAG
    • 1.1 RAG的工作流程
    • 1.2 RAG的组成
  • 2 langchain中的模块
    • 2.1 Load文档加载器
    • 2.2 Transform文档转换器
      • 2.2.1 CharacterTextSplitter
      • 2.2.2 RecursiveCharacterTextSplitter
    • 2.3 Embed文本嵌入模型
      • 2.3.1 自定义SemanticEmbedding
      • 2.3.2 OllamaEmbeddings
    • 2.4 Store向量存储
      • 2.4.1 常用向量数据库
      • 2.4.2 chroma向量数据库
    • 2.5 Retrieve检索器
  • 3 参考附录

RAG_1">1 RAG

RAG全称为Retrieval-Augmented Generation,即检索增强生成,结合了检索和生成的能力,引入外部知识库为文本生成任务提供支持,增强模型生成能力,产生更丰富、准确、有根据的内容。

RAG不仅依赖于训练数据中的信息,还可以利用大型外部知识库进行信息检索,有助于处理训练数据中未出现的问题。

RAG_5">1.1 RAG的工作流程

(1)检索: 从大型文档集合中检索相关文档或段落。
(2)上下文编码: 编码找到的文档或段落以及原始输入。
(3)生成: 利用编码的上下文信息生成输出。

RAG_9">1.2 RAG的组成

LangChain提供了RAG应用程序的所有构建模块 - 从简单到复杂。
在这里插入图片描述
(1)Load文档加载器:从许多不同来源加载文档。
(2)Transform文档转换器:将大型文档分割(或分块)为较小的块。
(3)Embed文本嵌入模型:为文档创建嵌入,嵌入捕捉文本的语义含义,促使能够快速高效地查找其他相似的文本。


http://www.ppmy.cn/ops/157020.html

相关文章

开源流程引擎对比:compileflow、Turbo、Warm-Flow、 flowable、activiti

文章目录 开源流程引擎对比I 工作流引擎阿里的Compileflowflowableactivitiwarm-flow(国产)Turbo (didiopensource)II 知识扩展开发流程开源流程引擎对比 ActivitiCamundaCompileflowturbo核心表量282205特性 中断可重入√√√支持回滚√√运行模式独立运行和内嵌独立运行和…

快速在wsl上部署学习使用c++轻量化服务器-学习笔记

知乎上推荐的Tinywebserver这个服务器,快速部署搭建,学习c服务器开发 仓库地址 githubhttps://link.zhihu.com/?targethttps%3A//github.com/qinguoyi/TinyWebServerhttps://link.zhihu.com/?targethttps%3A//github.com/qinguoyi/TinyWebServer 在…

macOs安装docker且在docker上部署nginx+php

一 环境 系统:macOS Sonoma 14.6芯片:Apple M3docker 版本:27.2.0 二 软件安装 2.1 docker下载: Get Started | Docker进入官网,如图位置,点击mac版本的docker下载. 根据你电脑芯片类型来选择下载的版本…

CI/CD相关概念

目录 CI/CD 蓝绿部署 回滚机制 金丝雀发布 CI/CD CI/CD(持续集成和持续交付/部署)是现代软件开发和运维中的重要实践,旨在通过自动化构建、测试、部署等流程,提升软件交付的速度、质量和一致性。下面详细介绍 CI/CD 的概念、…

sqli-labs靶场实录(二): Advanced Injections

sqli-labs靶场实录: Advanced Injections Less21Less22Less23探测注入点 Less24Less25联合注入使用符号替代 Less25aLess26逻辑符号绕过and/or过滤双写and/or绕过 Less26aLess27Less27aLess28Less28aLess29Less30Less31Less32(宽字节注入)Less33Less34Le…

使用TensorFlow和Keras构建卷积神经网络:图像分类实战指南

使用TensorFlow和Keras构建卷积神经网络:图像分类实战指南 一、前言:为什么选择CNN进行图像分类? 在人工智能领域,图像分类是计算机视觉的基础任务。传统的机器学习方法需要人工设计特征提取器,而深度学习通过卷积神经…

基于SeaTunnel同步数据

SeaTunnel(原名Waterdrop)是一个高性能、分布式、易扩展的数据集成平台,旨在简化大规模数据的抽取、转换和加载(ETL)过程。它支持从多种数据源(如数据库、消息队列、文件系统等)中提取数据&…

ES6 字符串、数值、数组扩展使用总结

1. 字符串的扩展方法 1.1 includes() // 判断字符串是否包含指定字符串 const str Hello World; console.log(str.includes(Hello)); // true console.log(str.includes(hello)); // false console.log(str.includes(World, 6)); // true - 从位置6开始搜索// 实际应用 func…