尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

LangChain 调用 Qwen 与 Ollama 的环境变量笔记

LangChain 调用 Qwen 与 Ollama 的环境变量笔记
📅 发布时间:2026/7/2 1:34:50

技术、模型名称、SDK 参数和云厂商入口都会更新。本文记录的是本次排查得到的理解与当前写法,后续一定以官方文档为准。

1. 先区分三类配置

调用大模型时,经常会混在一起的其实是三层东西:

层级作用示例
模型名称指定调用哪个模型qwen3.7-max、deepseek-r1:7b
API Key证明你有权限调用服务DASHSCOPE_API_KEY
Base URL / Host指定请求发到哪个服务地址阿里云百炼 Workspace URL、http://127.0.0.1:11434

模型名称一般看官网模型列表;Base URL 要看你使用的是默认公共入口、工作空间入口,还是本地服务。

2. Qwen / 阿里云百炼调用

LangChain 官方 Qwen 示例通常只写:

fromlangchain_qwqimportChatQwen llm=ChatQwen(model="qwen-flash")

这是因为示例默认使用库内置的默认接口地址,并且要求你提前配置好DASHSCOPE_API_KEY。

但如果你使用阿里云百炼 OpenAI 兼容接口,.env里可能会有工作空间专属地址:

DASHSCOPE_BASE_URL=https://你的WorkspaceId.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

这种情况下,如果代码不传base_url,库可能会走默认地址,导致 API Key 和服务入口不匹配,报:

401 invalid_api_key

3.langchain_qwq默认认识的环境变量

你本机源码关键位置:

D:\Users\26730\miniconda3\envs\python-stu\Lib\site-packages\langchain_qwq\base.py

源码含义是:

api_key<-DASHSCOPE_API_KEY api_base<-DASHSCOPE_API_BASE

也就是说,库默认认识:

DASHSCOPE_API_KEY DASHSCOPE_API_BASE

不是:

DASHSCOPE_BASE_URL

如果.env写成:

DASHSCOPE_API_KEY=sk-xxx DASHSCOPE_API_BASE=https://你的WorkspaceId.cn-beijing.maas.aliyuncs.com/compatible-mode/v1 DASHSCOPE_MODEL_NAME=qwen3.7-max

代码可以简化为:

importosfromdotenvimportload_dotenv,find_dotenvfromlangchain_qwqimportChatQwen load_dotenv(find_dotenv(),override=True)model=ChatQwen(model=os.getenv("DASHSCOPE_MODEL_NAME"),)res=model.invoke("你是谁?")print(res.content)

注意:DASHSCOPE_MODEL_NAME不是ChatQwen默认自动读取的变量,这里仍然是我们自己用os.getenv(...)读取后传进去。

如果.env写的是:

DASHSCOPE_BASE_URL=...

那么需要手动传:

model=ChatQwen(model=os.getenv("DASHSCOPE_MODEL_NAME"),api_key=os.getenv("DASHSCOPE_API_KEY"),base_url=os.getenv("DASHSCOPE_BASE_URL"),)

4. 推荐写法

学习阶段推荐写清楚一点:

importosfromdotenvimportload_dotenv,find_dotenvfromlangchain_qwqimportChatQwen load_dotenv(find_dotenv(),override=True)base_url=os.getenv("DASHSCOPE_BASE_URL")oros.getenv("DASHSCOPE_API_BASE")model=ChatQwen(model=os.getenv("DASHSCOPE_MODEL_NAME"),api_key=os.getenv("DASHSCOPE_API_KEY"),base_url=base_url,)res=model.invoke("你是谁?")print(res.content)

如果以后确认.env统一使用DASHSCOPE_API_BASE,也可以省略base_url参数。

5. Ollama 本地模型调用

LangChain 调 Ollama:

fromlangchain_ollamaimportChatOllama llm=ChatOllama(model="deepseek-r1:7b")res=llm.invoke("你是谁?")print(res.content)

这类代码默认连接本机 Ollama 服务:

http://127.0.0.1:11434

所以一般不需要传base_url。

前提是:

  1. Ollama 服务已经启动
  2. ollama list能看到这个模型

检查模型:

ollama list

如果没有目标模型,就先拉取:

ollama pull deepseek-r1:7b

或者把代码里的模型名改成ollama list中已有的模型。

6. Ollama 软件、服务和模型目录

Ollama 分三层:

LangChain / Python ↓ HTTP 请求 Ollama 服务:http://127.0.0.1:11434 ↓ 读取模型 本地模型目录,例如 D:\Users\26730\.ollama\models

打开 Ollama 软件时,它通常会帮你启动后台服务。

不打开软件,也可以手动启动:

ollama serve

服务启动后,另开一个 PowerShell:

ollama list

7. 为什么手动ollama serve看不到 D 盘模型?

看ollama serve日志里的这一项:

OLLAMA_MODELS:C:\\Users\\26730\\.ollama\\models

这说明当前手动启动的服务读取的是 C 盘默认目录,不是:

D:\Users\26730\.ollama\models

临时指定 D 盘目录:

$env:OLLAMA_MODELS="D:\Users\26730\.ollama\models"ollama serve

永久指定用户环境变量:

[Environment]::SetEnvironmentVariable("OLLAMA_MODELS","D:\Users\26730\.ollama\models","User")

然后关闭 Ollama、关闭终端、结束残留ollama.exe,重新打开终端再启动。

启动日志里要看到:

OLLAMA_MODELS:D:\\Users\\26730\\.ollama\\models

才说明服务真的在读 D 盘模型目录。

8. LangSmith 是什么?

LangSmith 是 LangChain 官方的观测和调试平台。

文档里的:

os.environ["LANGSMITH_TRACING"]="true"os.environ["LANGSMITH_API_KEY"]=getpass.getpass("Enter your LangSmith API key: ")

作用是开启模型调用追踪,把 prompt、模型输出、Chain/RAG 每一步输入输出等上传到 LangSmith 后台查看。

它不是 Ollama 必需项,也不是 Qwen 必需项。学习本地 Ollama 或简单调用时可以先不配置。涉及敏感数据时,也要注意开启追踪可能上传调用内容。

9. 常见报错判断

报错常见原因排查方式
401 invalid_api_keyAPI Key 错;或 API Key 与 Base URL 不匹配检查DASHSCOPE_API_KEY、DASHSCOPE_API_BASE/base_url
model not foundOllama 本地没有该模型ollama list、ollama pull 模型名
Ollama502服务刚启动、代理/云模型异常、服务端临时异常先用ollama list和/api/tags确认服务
Ollama 云模型提示订阅调用了:cloud模型但账号无权限换本地模型或升级云服务
ollama list看不到模型服务读错模型目录看ollama serve日志里的OLLAMA_MODELS

10. 官方文档入口

后续如果版本变了,以这些官方页面为准:

  • LangChain Qwen 集成文档:https://docs.langchain.com/oss/python/integrations/chat/qwen
  • LangChain Ollama 集成文档:https://docs.langchain.com/oss/python/integrations/chat/ollama
  • LangSmith Observability:https://docs.langchain.com/langsmith/observability
  • 阿里云百炼 OpenAI 兼容接口:https://help.aliyun.com/zh/model-studio/compatibility-of-openai-with-dashscope
  • 阿里云百炼模型列表:https://help.aliyun.com/zh/model-studio/models
  • 阿里云百炼错误码:https://help.aliyun.com/zh/model-studio/error-code
  • Ollama Windows 文档:https://github.com/ollama/ollama/blob/main/docs/windows.md
  • Ollama FAQ:https://github.com/ollama/ollama/blob/main/docs/faq.md

11. 最后记一句

云模型优先确认:

模型名 + API Key + Base URL

本地 Ollama 优先确认:

ollama serve 是否启动 + ollama list 是否有模型 + OLLAMA_MODELS 是否指向正确目录

相关新闻

  • 等保测评核心:高危漏洞、高危端口与弱口令的实战防护指南
  • 无法使用dbeaver、navicat连接opengauss
  • 华为HCCDA-AI认证题库解析与AI开发实战指南

最新新闻

  • 5分钟搞定Windows和Office永久激活:KMS_VL_ALL_AIO终极指南
  • Python 3 各版本全面对比分析报告
  • GitHub 53K Star 爆款:不用 JS 逆向,7 大平台数据一把抓
  • Dockery:一个容器跑起来,就是你的私有 Docker Registry
  • 企业微信二次开发中的定期对账机制
  • 任务计划程序不显示后边的信息

日新闻

  • Python Playwright录制功能:从零到一构建自动化测试脚本
  • 如何用开源工具永久保存你心爱的小说:novel-downloader全攻略
  • In-Context Learning不是教知识,而是模式对齐:从5个示例到100个工业级样本的真相

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号