Python 使用 LangChain 对接 OpenAI 模型最推荐通过安装 langchain-openai 包并配置 OPENAI_API_KEY 环境变量完成初始化。该方案适用于大多数生成式应用开发场景,风险边界在于需严格保护 API 密钥防止泄露至代码仓库。
先说结论:初始化配置核心在于正确安装集成包并通过环境变量传递认证信息,避免将密钥硬编码在代码中。
- 适合:基于 Python 构建 LLM 应用、需要调用 OpenAI 官方模型接口的开发场景。
- 先准备:获取有效的 OpenAI API Key 并确认网络环境可访问 API 服务端点。
- 验收:运行简单调用脚本并确认返回内容非空且无认证错误。
命令速用版
在终端执行以下命令安装依赖并设置环境变量,可直接用于本地测试环境。
pip install langchain-openai
export OPENAI_API_KEY="sk-..."为什么会这样
LangChain 框架本身不包含模型权重,必须通过 API 密钥认证才能调用外部模型服务。配置初始化的本质是建立本地代码与 OpenAI 接口之间的安全通信凭证。
分步处理
按照以下顺序完成配置,每一步完成后需确认无报错再进入下一步。
步骤 1:安装集成包
执行 pip install langchain-openai 命令。LangChain 核心包与具体模型集成包已分离,单独安装 openai 集成包可减少依赖冲突。
步骤 2:配置 API 密钥
在操作系统环境变量中设置 OPENAI_API_KEY。Linux/macOS 使用 export 命令,Windows 使用 setx 命令或在代码加载前设置。
步骤 3:编写初始化代码
导入 ChatOpenAI 类并实例化。代码示例如下:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-3.5-turbo")
response = llm.invoke("Hello")
print(response)怎么验证是否生效
运行初始化脚本后,观察控制台是否输出模型返回的文本内容。若抛出 AuthenticationError 或 401 状态码,说明密钥配置未生效或密钥无效。
常见坑
- 密钥硬编码:禁止将 API Key 直接写在 Python 文件里提交到 Git 仓库,应使用.env 文件或环境变量管理。
- 模型名称错误:OpenAI 模型名称会更新,使用旧模型名称如 text-davinci-003 可能导致报错,建议查阅最新文档确认 model 参数。
- 网络超时:国内环境直接调用可能失败,需确认网络链路是否通畅,但不要在代码中配置非法代理参数。
常见问题
环境变量和代码传参哪个优先级高?
代码构造函数中传参优先级高于环境变量。如果在 ChatOpenAI(api_key="...") 中指定了密钥,将忽略环境变量中的配置。
为什么提示 module not found langchain_openai?
因为只安装了 langchain 主包而未安装 langchain-openai 集成包。需单独执行 pip install langchain-openai 进行补充安装。
参考来源
- LangChain 官方文档:Integrations - OpenAI (https://python.langchain.com/docs/integrations/chat/openai/)
- OpenAI 官方文档:API Reference (https://platform.openai.com/docs/quickstart)