环境搭建
准备工作
确保你的电脑上有 Python 3.10 或更高版本。
bash
python --version如果没有,去 python.org 下载安装。
创建项目
bash
# 创建项目目录
mkdir qa-bot
cd qa-bot
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate安装依赖
核心依赖
bash
# 创建 requirements.txt
pip install langchain>=0.1.0
pip install langchain-community>=0.0.10
pip install langchain-openai>=0.0.2
# 向量数据库
pip install chromadb>=0.4.0
# 文档处理
pip install pypdf>=3.17.0
pip install docx2txt>=0.8
pip install unstructured>=0.11.0
# 前端
pip install streamlit>=1.31.0
# 大模型 SDK(选一个)
# OpenAI
pip install openai>=1.0.0
# 或通义千问
pip install dashscope>=1.10.0
# 或 DeepSeek
pip install deepseek>=1.0.0验证安装
bash
python -c "import langchain; print(langchain.__version__)"
python -c "import chromadb; print('Chroma installed')"获取 API Key
通义千问(推荐国内用户)
- 访问 阿里云百炼平台
- 注册/登录
- 创建 API Key
- 设置环境变量:
bash
# Mac/Linux
export DASHSCOPE_API_KEY="your-key-here"
# Windows PowerShell
$env:DASHSCOPE_API_KEY="your-key-here"
# Windows CMD
set DASHSCOPE_API_KEY=your-key-hereDeepSeek
- 访问 DeepSeek 开放平台
- 注册账号
- 创建 API Key
- 设置环境变量:
bash
export DEEPSEEK_API_KEY="your-key-here"OpenAI(需要国外支付)
- 访问 platform.openai.com
- 添加付款方式
- 创建 API Key
- 设置环境变量:
bash
export OPENAI_API_KEY="your-key-here"项目结构
qa-bot/
├── .env # API Keys(不提交到 Git)
├── .env.example # 环境变量示例
├── requirements.txt # 依赖列表
├── app.py # Streamlit 应用入口
├── rag.py # RAG 核心逻辑
├── config.py # 配置文件
└── data/ # 测试文档(可选)
├── sample.pdf
└── sample.txt配置文件
创建 .env.example:
bash
# 大模型配置
OPENAI_API_KEY=your-openai-key
DASHSCOPE_API_KEY=your-dashscope-key
DEEPSEEK_API_KEY=your-deepseek-key
# 向量数据库
CHROMA_PERSIST_DIRECTORY=./chroma_db
# 模型选择
LLM_PROVIDER=dashscope # openai | dashscope | deepseek
LLM_MODEL=qwen-turbo # gpt-4o | qwen-turbo | deepseek-chat创建 .env(复制 .env.example 并填入真实值):
bash
cp .env.example .env然后编辑 .env,填入你的 API Keys。
创建基础代码文件
config.py
python
import os
from dotenv import load_dotenv
load_dotenv()
class Config:
# 大模型配置
LLM_PROVIDER = os.getenv("LLM_PROVIDER", "dashscope")
LLM_MODEL = os.getenv("LLM_MODEL", "qwen-turbo")
# API Keys
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
# 向量数据库
CHROMA_PERSIST_DIRECTORY = os.getenv("CHROMA_PERSIST_DIRECTORY", "./chroma_db")
# RAG 参数
CHUNK_SIZE = 500
CHUNK_OVERLAP = 50
TOP_K = 3 # 检索最相关的 3 个片段
config = Config()测试配置
创建 test_setup.py:
python
from config import config
print(f"LLM Provider: {config.LLM_PROVIDER}")
print(f"LLM Model: {config.LLM_MODEL}")
print(f"Chroma Directory: {config.CHROMA_PERSIST_DIRECTORY}")
# 测试 API Key
if config.LLM_PROVIDER == "dashscope":
print(f"DashScope Key: {config.DASHSCOPE_API_KEY[:10]}...")
elif config.LLM_PROVIDER == "openai":
print(f"OpenAI Key: {config.OPENAI_API_KEY[:10]}...")
elif config.LLM_PROVIDER == "deepseek":
print(f"DeepSeek Key: {config.DEEPSEEK_API_KEY[:10]}...")运行测试:
bash
python test_setup.py如果看到配置信息打印出来(API Key 显示前 10 位),说明环境配置成功。
常见问题
1. pip 安装很慢
使用国内镜像:
bash
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple langchain chromadb或永久配置:
bash
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2. 虚拟环境激活失败
Windows:如果提示权限问题,用管理员运行 PowerShell
Mac:如果提示无法运行,执行:
bash
chmod +x venv/bin/activate3. API Key 测试失败
检查:
- Key 是否复制完整(没有多余空格)
.env文件是否在项目根目录- 环境变量是否正确加载
Git 配置(可选)
创建 .gitignore:
venv/
.env
chroma_db/
__pycache__/
*.pyc
.DS_Store初始化 Git:
bash
git init
git add .
git commit -m "Init project"下一步
环境搭好了,开始实现核心功能。