使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:1、使用Langchain与RAG构建问答系统

1. 使用Langchain实现基本RAG

在本节中,我们将使用 OpenAI 和 Langchain 创建一个简单的 QA RAG。在下面的笔记本中,我们将进一步深入探讨 RAG 管道的复杂性。

%load_ext dotenv
%dotenv secrets/secrets.env
from langchain_community.document_loaders import PyPDFLoader, DirectoryLoader
from langchain import hub
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI, OpenAIEmbeddings

1.1. 使用ChromaDB处理文档并构建向量存储

首先,我们使用PyPDFLoader通过DirectoryLoader.load()加载所有PDF文档。加载后,我们需要为每个文档生成嵌入,以便在选取提供相关上下文的文档时与问题进行比较。为此,我们首先使用RecursiveCharacterTextSplitter生成文档块。然后,我们使用OpenAIEmbeddings嵌入,该嵌入利用text-embedding-ada-002模型来表示每个块。一旦为每个块生成了嵌入向量,它们将被存储在本地ChromaDB数据库中,称为vectorstore

# 使用DirectoryLoader加载PDF文档
loader = DirectoryLoader('data/', glob="*.pdf", loader_cls

你可能感兴趣的:(使用,LangChain,掌握RAG的指南,langchain,人工智能,AI编程)