环境搭建:Python虚拟环境、LangChain/LangGraph安装、OpenAI/DeepSeek API配置
说实话,做量化投研最怕什么?不是策略亏钱,而是环境冲突。我见过太多人花了两天装包,最后发现版本对不上,整个项目崩掉。所以这一章,咱们先把地基打牢。
我会带你一步步搞定三件事:Python虚拟环境、LangChain/LangGraph安装、还有API配置。嗯,都是基本功,但细节里全是坑。
1. Python虚拟环境:为什么必须搞?
你想想看,一个项目用LangChain 0.1,另一个用0.3,装在一起直接打架。虚拟环境就是给每个项目一个独立的小房间,互不干扰。
核心原则:每个投研Agent项目,都应该有自己的虚拟环境。别偷懒。
1.1 创建虚拟环境
我个人习惯用 venv,Python自带的,轻量够用。如果你用conda也行,但这里我讲venv。
# 创建虚拟环境(在项目根目录下执行)
python -m venv research_agent_env
# 激活环境
# Windows:
research_agent_env\Scripts\activate
# Mac/Linux:
source research_agent_env/bin/activate
激活后,终端前面会出现 (research_agent_env) 字样。这时候你装的所有包,都只在这个环境里生效。
小技巧:我习惯把虚拟环境放在项目根目录,取名 venv 或 .venv,这样一眼就能认出。别取太长的名字,后面切换起来麻烦。
1.2 管理依赖
装完包后,记得生成 requirements.txt。这是你的「环境快照」,换机器或分享给同事时,直接 pip install -r requirements.txt 就能复现。
# 导出当前环境所有包
pip freeze > requirements.txt
# 从文件安装
pip install -r requirements.txt
注意:我曾经在项目交付前忘了生成requirements.txt,结果换台电脑跑不起来,排查了半天才发现少了两个包。所以,每次装完新包,立刻更新这个文件。
2. LangChain / LangGraph 安装
LangChain是Agent的骨架,LangGraph是它的「流程图引擎」。两者配合,才能做出能跑完整分析流程的投研Agent。
2.1 安装LangChain
直接pip安装,但要注意版本。我建议用最新稳定版,别追太新的beta版。
pip install langchain langchain-community langchain-core
这三个包的关系:langchain-core 是核心抽象,langchain-community 是各种第三方集成(比如OpenAI、DeepSeek),langchain 是上层封装。嗯,装全了省心。
2.2 安装LangGraph
LangGraph用来构建多步推理流程。比如财报解读时,先提取数据,再分析趋势,最后生成报告——每一步都是一个节点,LangGraph帮你串联。
pip install langgraph
版本检查:装完后运行 pip show langgraph,确认版本号。我目前用的是0.2.x,稳定且文档齐全。
2.3 验证安装
写个简单脚本测试一下:
from langchain.llms import OpenAI
from langgraph.graph import StateGraph
print("LangChain and LangGraph installed successfully!")
print(f"LangGraph version: {importlib.metadata.version('langgraph')}")
如果没报错,说明环境通了。如果报错,多半是Python版本问题——LangGraph要求Python 3.9以上。我建议直接用3.10或3.11,兼容性最好。
3. OpenAI / DeepSeek API 配置
投研Agent的核心是调用大模型。OpenAI是标杆,DeepSeek是性价比之选。两个都配好,灵活切换。
3.1 获取API Key
这个步骤很简单,但容易踩坑。我直接说重点:
- OpenAI:去 platform.openai.com 创建Key。注意,新账号有免费额度,但用完后要绑定信用卡。
- DeepSeek:去 platform.deepseek.com 注册,目前有赠送额度,够你跑完整个课程。
安全提醒:千万别把API Key硬编码在代码里!我曾经见过有人把Key传到GitHub上,结果被爬虫扫到,一夜之间被刷了几百美元。用环境变量或.env文件。
3.2 配置环境变量
我推荐用 python-dotenv 管理Key。先在项目根目录创建 .env 文件:
# .env 文件
OPENAI_API_KEY=sk-your-openai-key-here
DEEPSEEK_API_KEY=sk-your-deepseek-key-here
然后在代码中加载:
from dotenv import load_dotenv
import os
load_dotenv() # 加载.env文件
openai_key = os.getenv("OPENAI_API_KEY")
deepseek_key = os.getenv("DEEPSEEK_API_KEY")
print(f"OpenAI Key: {openai_key[:8]}...") # 只打印前8位,安全
小技巧:我习惯把 .env 加入 .gitignore,避免误提交。同时,在项目文档里放一个 .env.example 文件,告诉别人需要哪些变量。
3.3 测试API连通性
写个简单调用,确认Key有效:
from langchain_openai import ChatOpenAI
# 测试OpenAI
llm = ChatOpenAI(model="gpt-4", temperature=0)
response = llm.invoke("请用一句话解释什么是财报解读。")
print(response.content)
# 测试DeepSeek(通过OpenAI兼容接口)
from langchain_community.chat_models import ChatOpenAI as DeepSeekChat
deepseek_llm = DeepSeekChat(
model="deepseek-chat",
openai_api_key=os.getenv("DEEPSEEK_API_KEY"),
openai_api_base="https://api.deepseek.com/v1"
)
response = deepseek_llm.invoke("请用一句话解释什么是财报解读。")
print(response.content)
如果两个都返回了内容,恭喜你,环境搭建完成!
4. 知识体系总览
下面这张图,帮你理清本章的核心逻辑:
5. 避坑指南
最后,分享几个我踩过的坑:
- Python版本:别用Python 3.7以下,LangGraph不支持。我建议3.10,稳。
- pip源:国内用户记得换清华源或阿里源,不然装包慢到怀疑人生。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple - API Key泄露:我曾经把Key写在Jupyter Notebook里,结果分享时忘了删,被同事看到了。嗯,从那以后我强制自己用.env。
- 虚拟环境激活:每次打开新终端,第一件事就是激活环境。我见过有人没激活,直接装包到全局,结果系统Python炸了。
好了,环境搭好,后面就可以安心写Agent了。记住,基础打牢,后面才不慌。
公众号:蓝海资料掘金营,微信deep3321