LangChain实战:RAG检索增强-打造属于你自己的知识库

一、什么是检索增强的生成模型(RAG)

		1、RAG是一种结合了语言模型和信息检索技术的模型。
		2、当需要生成文本或回答问题时,RAG模型会首先从一个庞大的文档
		集合中检索出相关信息,然后利用这些检索到的信息来指导文本的生成,
		从而提高预测的质量和准确性。
		类比:你可以把这个过程想象成开卷考试。让 LLM 先翻书,再回答问题。

二、LLM 固有的局限性

	    1、LLM 的知识不是实时的
        2、LLM 可能不知道你私有的领域/业务知识

三、RAG 系统的基本搭建流程

搭建过程:
		1、文档加载,并按一定条件切割成片段
		2、将切割的文本片段灌入检索引擎
		3、封装检索接口
		4、构建调用流程:Query -> 检索 -> Prompt -> LLM -> 回复

四、RAG搭建实战

1、类信息搭建

	定义持久化目录变量、初始化向量库
class MyPDFProcessor:
    _vectordb: Chroma = None
    persist_directory = "/usr/local/soft/chromadb/data"

    def __init__(self):
        if MyPDFProcessor._vectordb is None:
            MyPDFProcessor.initialize_vectordb()

2、初始化向量库

    @classmethod
    def initialize_vectordb(cls):
        # 这里我们假设Chroma和OpenAIEmbeddings都已经被正确定义并可用
        cls._vectordb = Chroma(embedding_function=OpenAIEmbeddings(),
                               persist_directory=cls.persist_directory)

3、pdf加载

    @classmethod
    def pdf_loader(cls, file_name):
        pdf_loader = PyPDFLoader(file_path=file_name)
        docs = pdf_loader
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值