更换OpenAI API密钥后,LangSmith调用arun_on_dataset仍报旧密钥错误
解决LangSmith调用arun_on_dataset时旧API密钥残留的问题
- 检查Python环境的环境变量缓存:
- 若通过导入
env.py或source命令加载变量,需重启Python解释器/IDE,避免旧环境变量被缓存。可在代码开头添加验证语句:import os; print(os.getenv("OPENAI_API_KEY")),确认输出为新密钥。
- 若通过导入
- 检查LangChain客户端实例缓存:
- 若代码中提前初始化了OpenAI/LangChain模型客户端,这类实例可能留存旧密钥。需确保每次运行时重新初始化客户端,或显式传入新密钥:
from langchain.chat_models import ChatOpenAI llm = ChatOpenAI(openai_api_key=os.getenv("OPENAI_API_KEY"))
- 若代码中提前初始化了OpenAI/LangChain模型客户端,这类实例可能留存旧密钥。需确保每次运行时重新初始化客户端,或显式传入新密钥:
- 检查LangSmith本地配置文件:
- LangSmith会在用户目录生成
~/.langsmith/config文件,其中可能存储旧密钥。打开该文件,确认openai_api_key字段为新密钥,修改后保存并重启程序。
- LangSmith会在用户目录生成
- 检查虚拟环境配置:
- 若使用虚拟环境,查看虚拟环境的激活脚本(Linux/macOS为
bin/activate,Windows为Scripts/activate.bat),确认是否硬编码旧密钥,如有则替换为新密钥后重新激活环境。
- 若使用虚拟环境,查看虚拟环境的激活脚本(Linux/macOS为
- 检查
arun_on_dataset的参数配置:- 确认调用
arun_on_dataset时,是否在参数或预设配置对象中显式传入旧密钥,若有则同步更新为新密钥。
- 确认调用
内容的提问来源于stack exchange,提问作者DanSasha
相关产品推荐
相关产品推荐

