趋近智
准备开发环境是构建检索增强生成(RAG)系统的主要步骤。这包括设置一个独立的Python环境,并安装提供检索、生成和协调构建模块所需的库。确保安装了正确的工具是构建一个可用流水线的第一步。
在Python开发中,使用虚拟环境管理项目依赖是一个标准做法。这可以避免不同项目所需库之间的冲突。如果你还不熟悉venv,它是Python内置的轻量级虚拟环境创建工具。
打开你的终端或命令行提示符,并导航到你的项目目录。然后,创建一个虚拟环境(我们这里命名为rag-env,但你可以选择任何名字):
python -m venv rag-env
接下来,激活环境。激活命令根据你的操作系统略有不同:
source rag-env/bin/activate
rag-env\Scripts\activate.bat
rag-env\Scripts\Activate.ps1
一旦激活,你的终端提示符通常会改变,表明你正在rag-env环境中工作。从现在起安装的所有包都将是此环境的本地包。
虚拟环境激活后,我们可以安装构建基本RAG流水线所需的Python包。我们将使用Python包安装器pip。
对于这个入门课程,我们将使用RAG生态系统中常用的库。这些包括:
sentence-transformers是访问可本地运行的高质量开放模型的常用选择。另外,也可以使用提供商如OpenAI的嵌入API。ChromaDB是一个简单、本地的向量存储,适合入门。其他选项如FAISS(来自Facebook AI AI)也广泛使用。pypdf。python-dotenv用于安全地管理API密钥,以及tiktoken专门用于OpenAI模型计算token。让我们使用一个pip命令来安装这些包:
pip install langchain langchain-openai langchain-community sentence-transformers chromadb python-dotenv tiktoken pypdf
让我们简单说明一下我们安装了什么:
langchain: LangChain框架的核心库。langchain-openai: 为OpenAI模型(LLM和嵌入)提供特定的集成。langchain-community: 包含许多社区维护的集成,包括文档加载器和ChromaDB等向量存储。sentence-transformers: 用于使用Hugging Face Hub中的模型生成文本嵌入。chromadb: Chroma向量数据库的客户端库。python-dotenv: 一个实用工具,用于从.env文件加载环境变量(对API密钥有用)。tiktoken: OpenAI的tokenizer,有助于计算token以管理上下文窗口。pypdf: 一个用于从PDF文件读取文本内容的库。根据你的具体需求,或者如果你选择其他组件(例如,不同的LLM提供商或向量存储),你可能需要安装额外的包。LangChain或你选择的库的文档将指明所需的安装。
许多大型语言模型和嵌入服务(如OpenAI的)需要API密钥进行身份验证。重要的是不要将这些密钥直接硬编码到你的脚本中。标准做法是使用环境变量。
python-dotenv库有助于管理这一点。在你的项目根目录(与Python脚本并列)中创建一个名为.env的文件。将你的API密钥添加到此文件:
# .env file
OPENAI_API_KEY="sk-YourSecretOpenAIKeyGoesHere"
# Add other keys if needed, e.g.:
# HUGGINGFACEHUB_API_TOKEN="hf_YourHuggingFaceToken"
请务必将"sk-YourSecretOpenAIKeyGoesHere"替换为你的实际密钥。重要提示: 将.env添加到你的.gitignore文件中,以避免意外地将你的密钥提交到版本控制。
在你的Python代码中,你可以在脚本的早期加载这些变量:
import os
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
# Access the API key
openai_api_key = os.getenv("OPENAI_API_KEY")
# You can now use this variable when configuring LLM clients
# Example:
# llm = OpenAI(api_key=openai_api_key)
if openai_api_key is None:
print("Warning: OPENAI_API_KEY not found in environment variables.")
# Handle the case where the key is missing, perhaps by exiting or using a fallback.
在开始时加载变量,可以使它们通过os.getenv()在整个应用程序中可用。
你可以通过在Python解释器或脚本中尝试导入核心库来快速验证它们是否已正确安装:
import langchain
import langchain_openai
import langchain_community
import sentence_transformers
import chromadb
import tiktoken
import pypdf # Note: pypdf is the package name, used like this in code
print("Core RAG libraries imported successfully!")
如果此代码运行没有出现ModuleNotFoundError,则你的环境很可能已正确配置并安装了基本包。
环境准备就绪,所需库也已安装,我们现在可以进行流水线的第一个功能部分:实现检索器组件,这包括加载数据、生成嵌入以及设置向量存储以进行相似度搜索。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造