开始搭建 RAG 系统前,需要先准备好 Python 运行环境并安装必要的依赖库。以下步骤以 macOS/Linux 终端或 Windows PowerShell 为例,均基于 Python 3.10 及以上版本,依赖库版本建议锁定在稳定组合。
1. 创建虚拟环境(推荐)
虚拟环境可以隔离项目依赖,避免不同项目的库版本冲突。在项目根目录下执行:
python -m venv rag_env
激活环境:
- macOS / Linux:
source rag_env/bin/activate
- Windows:
rag_env\Scripts\activate
激活后,终端提示符前会出现 (rag_env) 标识。
2. 安装核心依赖库
RAG 系统通常涉及:大模型调用、向量嵌入生成、向量数据库存储与检索、文档加载解析等。以下库是实践中高频使用的组合,一次性安装即可。
pip install langchain==0.2.0
pip install langchain-openai==0.1.0
pip install chromadb==0.5.0
pip install sentence-transformers==3.0.0
pip install pypdf==4.2.0
pip install python-dotenv==1.0.0
如果网络受限,可在命令后添加国内镜像源,例如 -i https://pypi.tuna.tsinghua.edu.cn/simple。
各库用途简介:
| 库 | 用途 |
|----|------|
| langchain | RAG 流程编排,连接检索、提示模板、模型调用等环节 |
| langchain-openai | 提供对 OpenAI 模型(如 GPT-4o、GPT-3.5)的统一调用接口 |
| chromadb | 轻量级向量数据库,适合本机开发和小规模部署 |
| sentence-transformers | 提供开源嵌入模型(如 BGE、E5 系列),用于文本向量化 |
| pypdf | 解析 PDF 文档,提取文本用于索引 |
| python-dotenv | 从 .env 文件加载环境变量,安全存储 API Key |
注意:若使用开源的嵌入模型,通常不需要额外申请 API Key;若调用 OpenAI 的 Embeddings 服务,则需在
.env中配置OPENAI_API_KEY并在代码中加载。
3. 配置环境变量(API Key)
在项目目录下创建 .env 文件,内容示例:
OPENAI_API_KEY=sk-你的密钥
确保 .gitignore 中已包含 .env,避免将密钥提交到代码仓库。
在脚本中加载:
from dotenv import load_dotenv
load_dotenv()
4. 验证安装
在 Python 交互环境或脚本中依次导入核心模块,无报错即为安装成功:
import langchain
import chromadb
from langchain_openai import ChatOpenAI
from sentence_transformers import SentenceTransformer
import pypdf
import dotenv
print("所有依赖库加载正常")
若使用开源嵌入模型,还可测试一下向量化是否可用:
model = SentenceTransformer("BAAI/bge-small-zh-v1.5")
vector = model.encode("测试文本")
print(len(vector))
输出向量维度(如 512),说明嵌入模块工作正常。
5. 常见问题与处理
pip提示权限不足:不要在系统 Python 中直接安装,务必先激活虚拟环境。chromadb启动报错:某些环境缺少 C++ 运行时,可尝试用sqlite3作为存储后端,或改用chromadb的内存模式先行测试。- 下载嵌入模型缓慢:
sentence-transformers首次加载模型会从 Hugging Face 下载,可通过设置环境变量HF_ENDPOINT=https://hf-mirror.com使用国内镜像加速。 pypdf解析中文 PDF 出现乱码:确认 PDF 本身为文本型而非扫描件;若为扫描件,需引入 OCR 流程(不在基础环境范围内)。
以上步骤完成后,Python 运行环境和 RAG 开发所需的核心依赖就准备好了。接下来可以进入文档加载、索引构建以及问答链路的搭建阶段。