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

从“ollama安装模型失败“到“显卡驱动升级“记录

从“ollama安装模型失败“到“显卡驱动升级“记录
📅 发布时间:2026/6/29 23:51:14

1、定义问题

我在执行ollama模型安装时失败了,报错如下:

D:\Ollma\ollma>ollama run deepseek-r1:1.5b pulling manifest pulling aabd4debf0c8: 100% ▕██████████████████████████████████████████████████████████▏ 1.1 GB pulling c5ad996bda6e: 100% ▕██████████████████████████████████████████████████████████▏ 556 B pulling 6e4c38e1172f: 100% ▕██████████████████████████████████████████████████████████▏ 1.1 KB pulling f4d24e9138dd: 100% ▕██████████████████████████████████████████████████████████▏ 148 B pulling a85fe2a2e58e: 100% ▕██████████████████████████████████████████████████████████▏ 487 B verifying sha256 digest writing manifest success Error: 500 Internal Server Error: llama-server process has terminated: exit status 0xc0000409: The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.: CUDA error: the provided PTX was compiled with an unsupported toolchain.------------------报错了请解决

这个报错主要是由于你的NVIDIA 显卡驱动版本与 Ollama 运行 DeepSeek-R1(通常使用 CUDA 加速)所需要的CUDA 工具链版本不匹配导致的。

具体原因在于这一句:CUDA error: the provided PTX was compiled with an unsupported toolchain(CUDA 错误:提供的 PTX 文件是由不支持的工具链编译的)。同时引发了栈溢出错误(0xc0000409)导致llama-server进程直接崩溃。

我查看了我的显卡信息,如下所示:

根据图片可知,显卡型号是NVIDIA GeForce MX230(专用显存为 4.0 GB),当前的驱动程序版本为32.0.15.5612(即英伟达官方的 556.12 版本),发布日期是 2024 年 6 月。

针对“是否支持升级”,我们需要从硬件和驱动(软件)两个维度来回答:

1. 硬件升级:不支持

  • 原因:NVIDIA GeForce MX230 是一款笔记本电脑上的入门级独立显卡。这类显卡芯片是直接焊接在笔记本主板上的(BGA 封装),无法像台式机那样拔下来更换成更新、更强的显卡。

2. 驱动升级:支持,但有局限性

  • 支持升级:你的驱动是 2024 运作的版本,英伟达官方目前依然会为 Pascal 架构(包括 MX230)提供安全更新驱动(例如 582.xx 或更高版本)。你可以前往 NVIDIA 官网下载最新的笔记本显卡驱动进行安装。

  • 局限性(大模型兼容问题):MX230 属于 2019 年发布的旧架构。英伟达早已停止了对它的 “Game Ready” 性能优化,仅提供基础维护。你之前遇到的 Ollama 报错(PTX was compiled with an unsupported toolchain),正是因为 Ollama 新版本使用的 CUDA 工具链较新,而老旧显卡架构在编译指令集上产生了断层。这意味着即使你把驱动升到最新,新版 Ollama 也有可能因硬件架构过老而拒绝提供 GPU 加速。

给我的最佳建议是:不用GPU,直接使用CPU运行。方法如下:

  • 右键点击任务栏右下角的 Ollama 图标,选择Quit Ollama彻底退出。

  • 打开 Windows系统环境变量设置:

    • 在 Windows 搜索栏输入“环境变量”,选择“编辑系统环境变量”。

    • 点击“环境变量”按钮。

  • 在“用户变量”或“系统变量”中点击“新建”:

    • 变量名:OLLAMA_NUM_PARALLEL(可选,设置为 1)

    • 或者更直接的(禁用GPU):新建变量名CUDA_VISIBLE_DEVICES,变量值设为-1。

  • 重新启动 Ollama 软件,然后再运行ollama run deepseek-r1:1.5b。


2、NVIDIA驱动更新

但我想先尝试去官网碰碰运气更新一下驱动,操作如下:

1、打开 NVIDIA 驱动下载官网,在下拉菜单中精准选择:

  • 产品类型 (Product Type):GeForce

  • 产品系列 (Product Series):GeForce MX200 Series (Notebooks)

  • 产品 (Product):GeForce MX230

  • 操作系统 (Operating System):根据你的电脑选择Windows 10 64-bit或Windows 11

  • 下载类型 (Download Type):选择Game Ready 驱动程序 (GRD)(如果没有,就选默认的所有或Studio)

  • 语言 (Language):Chinese (Simplified)(简体中文)

2、点击右侧的View按钮,进入下载页面并把安装包下载到本地。

3、运行安装程序,记得在安装过程中选择“自定义(高级)”并勾选“执行清洁安装”。

为什么这一步很重要?清洁安装会彻底卸载你原有的旧驱动,并清除残留的 CUDA PTX 缓存,这能最大概率解决报错里提到的llama-server栈溢出和工具链断层问题。

4、安装完成后重启电脑,然后再次去命令行执行ollama run deepseek-r1:1.5b。

安装过程中弹窗这个路径怎么选 ?

这其实不是真正的安装路径,而是安装包的临时解压路径,直接点击 “OK” 即可。这个临时文件夹里的内容通常会自动被系统或安装程序清理掉,不会长期占用你的 C 盘空间。

这两个选项怎么选?

  • 鼠标点击勾选第二个NVIDIA 图形驱动程序。

  • 点击右下角的“同意并继续(A)”按钮。

为什么这么选?

  1. 第一个选项(NVIDIA 显卡驱动程序和 NVIDIA App):会额外安装一个 NVIDIA App(用于游戏录屏、优化、串流等功能)。这个软件常驻后台不仅会占用内存和 CPU 资源,对于你目前运行大模型或进行日常科研、运维任务来说没有任何帮助,反而属于“捆绑垃圾”。

  2. 第二个选项(NVIDIA 图形驱动程序):只安装核心的纯驱动(包含大模型所需的 CUDA 核心组件)。这样安装最干净、最省资源。

  • 鼠标点击勾选自定义(C)(高级)。

  • 点击右下角的“下一步(N)”按钮。

  • 重要提示:点击下一步后,会弹出一个组件列表窗口。请在那个窗口的下方,寻找一个名为“执行清洁安装” (Perform a clean installation)的复选框,务必把它勾选上,然后再点击继续安装。

  • 组件列表保持默认即可:

    • 图形驱动程序是灰色强制勾选的。

    • NVIDIA App保持不要勾选(为空)。

    • PhysX 系统软件保持勾选即可。

  • 核心一步:请务必用鼠标勾选下方的执行清洁安装(P)(把那个空白的正方形方框点亮)。

勾选完“执行清洁安装”之后,直接点击右下角的“下一步(N)”按钮。

接下来系统就会自动开始卸载老驱动并安装全新的582.66驱动,安装过程中屏幕可能会闪烁几次,这属于正常现象。安装完成后建议重启一下电脑,但是我没有重启电脑,我想直接在命令行里输入ollama run deepseek-r1:1.5b碰碰运气,

最后发现直接成功了!!!

可能会出现的两种结果:

  1. 直接成功:Windows 10/11 的新版驱动架构很多时候支持热加载,如果不重启就能跑通,那就最省事了。

  2. 依然报错或找不到 GPU:因为没有重启,Ollama 后台服务可能还在沿用旧驱动的缓存,或者系统还没完全识别到新驱动的 CUDA 环境。

新驱动已经完美识别并生效了!

  • 驱动程序版本成功更新为了32.0.15.8266(即官方的 582.66)。

  • 驱动程序日期也变成了2026/6/9。

这意味着你的系统已经彻底加载了新驱动,确实不需要重启也能看到更新结果。


3、"全局代理"惹的祸

我重启了,并在cmd终端和ollama客户端都成功运行ollama本地模型deepseek-r1:1.5b,但是在python代码中运行还是报错,代码如下:

from langchain_ollama import ChatOllama model = ChatOllama( model="deepseek-r1:1.5b", base_url="http://localhost:11434" # 如果Ollama在本地默认端口运行,则可省略,或使用http://localhost:11434 ) print(model.invoke("介绍一下你自己"))

报错如下:

一切成功了,接下来啊帮我分析以下报错信息:{ "name": "ResponseError", "message": " (status code: 502)", "stack": "\u001b[31m---------------------------------------------------------------------------\u001b[39m\n\u001b[31mResponseError\u001b[39m Traceback (most recent call last)\n\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 8\u001b[39m\n\u001b[32m 4\u001b[39m model=\u001b[33m\"deepseek-r1:1.5b\"\u001b[39m,\n\u001b[32m 5\u001b[39m base_url=\u001b[33m\"http://localhost:11434\"\u001b[39m \u001b[38;5;66;03m# 如果Ollama在本地默认端口运行,则可省略,或使用http://localhost:11434\u001b[39;00m\n\u001b[32m 6\u001b[39m )\n\u001b[32m 7\u001b[39m \n\u001b[32m----> \u001b[39m\u001b[32m8\u001b[39m print(model.invoke(\u001b[33m\"介绍一下你自己\"\u001b[39m))\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py:402\u001b[39m, in \u001b[36mBaseChatModel.invoke\u001b[39m\u001b[34m(self, input, config, stop, **kwargs)\u001b[39m\n\u001b[32m 388\u001b[39m \u001b[38;5;129m@override\u001b[39m\n\u001b[32m 389\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34minvoke\u001b[39m(\n\u001b[32m 390\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 395\u001b[39m **kwargs: Any,\n\u001b[32m 396\u001b[39m ) -> AIMessage:\n\u001b[32m 397\u001b[39m config = ensure_config(config)\n\u001b[32m 398\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m cast(\n\u001b[32m 399\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mAIMessage\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 400\u001b[39m cast(\n\u001b[32m 401\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mChatGeneration\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m--> \u001b[39m\u001b[32m402\u001b[39m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mgenerate_prompt\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 403\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_convert_input\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43minput\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m]\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 404\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 405\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mcallbacks\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mconfig\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mget\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mcallbacks\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 406\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mtags\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mconfig\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mget\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mtags\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 407\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mmetadata\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mconfig\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mget\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mmetadata\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 408\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mrun_name\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mconfig\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mget\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mrun_name\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 409\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mrun_id\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mconfig\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mpop\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mrun_id\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mNone\u001b[39;49;00m\u001b[30;43m)\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 410\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 411\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m)\u001b[39;49m.generations[\u001b[32m0\u001b[39m][\u001b[32m0\u001b[39m],\n\u001b[32m 412\u001b[39m ).message,\n\u001b[32m 413\u001b[39m )\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py:1123\u001b[39m, in \u001b[36mBaseChatModel.generate_prompt\u001b[39m\u001b[34m(self, prompts, stop, callbacks, **kwargs)\u001b[39m\n\u001b[32m 1114\u001b[39m \u001b[38;5;129m@override\u001b[39m\n\u001b[32m 1115\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mgenerate_prompt\u001b[39m(\n\u001b[32m 1116\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 1120\u001b[39m **kwargs: Any,\n\u001b[32m 1121\u001b[39m ) -> LLMResult:\n\u001b[32m 1122\u001b[39m prompt_messages = [p.to_messages() \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m prompts]\n\u001b[32m-> \u001b[39m\u001b[32m1123\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mgenerate\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mprompt_messages\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mcallbacks\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mcallbacks\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py:933\u001b[39m, in \u001b[36mBaseChatModel.generate\u001b[39m\u001b[34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\u001b[39m\n\u001b[32m 930\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i, m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(input_messages):\n\u001b[32m 931\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 932\u001b[39m results.append(\n\u001b[32m--> \u001b[39m\u001b[32m933\u001b[39m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_generate_with_cache\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 934\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mm\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 935\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 936\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mrun_manager\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mrun_managers\u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43mi\u001b[39;49m\u001b[30;43m]\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mrun_managers\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01melse\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mNone\u001b[39;49;00m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 937\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 938\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 939\u001b[39m )\n\u001b[32m 940\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 941\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m run_managers:\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_core\\language_models\\chat_models.py:1235\u001b[39m, in \u001b[36mBaseChatModel._generate_with_cache\u001b[39m\u001b[34m(self, messages, stop, run_manager, **kwargs)\u001b[39m\n\u001b[32m 1233\u001b[39m result = generate_from_stream(\u001b[38;5;28miter\u001b[39m(chunks))\n\u001b[32m 1234\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m inspect.signature(\u001b[38;5;28mself\u001b[39m._generate).parameters.get(\u001b[33m\"\u001b[39m\u001b[33mrun_manager\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m-> \u001b[39m\u001b[32m1235\u001b[39m result = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_generate\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 1236\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mmessages\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mrun_manager\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mrun_manager\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\n\u001b[32m 1237\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 1238\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 1239\u001b[39m result = \u001b[38;5;28mself\u001b[39m._generate(messages, stop=stop, **kwargs)\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_ollama\\chat_models.py:1030\u001b[39m, in \u001b[36mChatOllama._generate\u001b[39m\u001b[34m(self, messages, stop, run_manager, **kwargs)\u001b[39m\n\u001b[32m 1023\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_generate\u001b[39m(\n\u001b[32m 1024\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 1025\u001b[39m messages: \u001b[38;5;28mlist\u001b[39m[BaseMessage],\n\u001b[32m (...)\u001b[39m\u001b[32m 1028\u001b[39m **kwargs: Any,\n\u001b[32m 1029\u001b[39m ) -> ChatResult:\n\u001b[32m-> \u001b[39m\u001b[32m1030\u001b[39m final_chunk = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_chat_stream_with_aggregation\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 1031\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mmessages\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mrun_manager\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mverbose\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mverbose\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\n\u001b[32m 1032\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 1033\u001b[39m generation_info = final_chunk.generation_info\n\u001b[32m 1034\u001b[39m chat_generation = ChatGeneration(\n\u001b[32m 1035\u001b[39m message=AIMessage(\n\u001b[32m 1036\u001b[39m content=final_chunk.text,\n\u001b[32m (...)\u001b[39m\u001b[32m 1043\u001b[39m generation_info=generation_info,\n\u001b[32m 1044\u001b[39m )\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_ollama\\chat_models.py:965\u001b[39m, in \u001b[36mChatOllama._chat_stream_with_aggregation\u001b[39m\u001b[34m(self, messages, stop, run_manager, verbose, **kwargs)\u001b[39m\n\u001b[32m 956\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_chat_stream_with_aggregation\u001b[39m(\n\u001b[32m 957\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 958\u001b[39m messages: \u001b[38;5;28mlist\u001b[39m[BaseMessage],\n\u001b[32m (...)\u001b[39m\u001b[32m 962\u001b[39m **kwargs: Any,\n\u001b[32m 963\u001b[39m ) -> ChatGenerationChunk:\n\u001b[32m 964\u001b[39m final_chunk = \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m965\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mchunk\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_iterate_over_stream\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mmessages\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m:\u001b[39;49m\n\u001b[32m 966\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mfinal_chunk\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mis\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mNone\u001b[39;49;00m\u001b[30;43m:\u001b[39;49m\n\u001b[32m 967\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mfinal_chunk\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mchunk\u001b[39;49m\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_ollama\\chat_models.py:1054\u001b[39m, in \u001b[36mChatOllama._iterate_over_stream\u001b[39m\u001b[34m(self, messages, stop, **kwargs)\u001b[39m\n\u001b[32m 1047\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_iterate_over_stream\u001b[39m(\n\u001b[32m 1048\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 1049\u001b[39m messages: \u001b[38;5;28mlist\u001b[39m[BaseMessage],\n\u001b[32m 1050\u001b[39m stop: \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mstr\u001b[39m] | \u001b[38;5;28;01mNone\u001b[39;00m = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 1051\u001b[39m **kwargs: Any,\n\u001b[32m 1052\u001b[39m ) -> Iterator[ChatGenerationChunk]:\n\u001b[32m 1053\u001b[39m reasoning = kwargs.get(\u001b[33m\"\u001b[39m\u001b[33mreasoning\u001b[39m\u001b[33m\"\u001b[39m, \u001b[38;5;28mself\u001b[39m.reasoning)\n\u001b[32m-> \u001b[39m\u001b[32m1054\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43;01mfor\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mstream_resp\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_create_chat_stream\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mmessages\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mstop\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m:\u001b[39;49m\n\u001b[32m 1055\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mnot\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43misinstance\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mstream_resp\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mstr\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m:\u001b[39;49m\n\u001b[32m 1056\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mcontent\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 1057\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mstream_resp\u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mmessage\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m]\u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mcontent\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m]\u001b[39;49m\n\u001b[32m 1058\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43;01mif\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mmessage\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mstream_resp\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01mand\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mcontent\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43;01min\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43mstream_resp\u001b[39;49m\u001b[30;43m[\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43mmessage\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m]\u001b[39;49m\n\u001b[32m 1059\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43;01melse\u001b[39;49;00m\u001b[30;43m \u001b[39;49m\u001b[30;43m\"\u001b[39;49m\u001b[30;43m\"\u001b[39;49m\n\u001b[32m 1060\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\langchain_ollama\\chat_models.py:952\u001b[39m, in \u001b[36mChatOllama._create_chat_stream\u001b[39m\u001b[34m(self, messages, stop, **kwargs)\u001b[39m\n\u001b[32m 950\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m chat_params[\u001b[33m\"\u001b[39m\u001b[33mstream\u001b[39m\u001b[33m\"\u001b[39m]:\n\u001b[32m 951\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m._client:\n\u001b[32m--> \u001b[39m\u001b[32m952\u001b[39m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m._client.chat(**chat_params)\n\u001b[32m 953\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m._client:\n\u001b[32m 954\u001b[39m \u001b[38;5;28;01myield\u001b[39;00m \u001b[38;5;28mself\u001b[39m._client.chat(**chat_params)\n\n\u001b[36mFile \u001b[39m\u001b[32md:\\python\\Anaconda\\envs\\langchain1.2\\Lib\\site-packages\\ollama\\_client.py:189\u001b[39m, in \u001b[36mClient._request.<locals>.inner\u001b[39m\u001b[34m()\u001b[39m\n\u001b[32m 187\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m httpx.HTTPStatusError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 188\u001b[39m e.response.read()\n\u001b[32m--> \u001b[39m\u001b[32m189\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ResponseError(e.response.text, e.response.status_code) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 191\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m r.iter_lines():\n\u001b[32m 192\u001b[39m part = json.loads(line)\n\n\u001b[31mResponseError\u001b[39m: (status code: 502)" }

报错原因:

在终端(cmd)可以成功运行本地模型,但通过 Python 代码(LangChain / Ollama SDK)调用时返回502错误(Bad Gateway),这通常说明请求虽然发送出去了,但在中途遭遇了阻断或错误的路由。

最常见的原因是你的电脑上开启了全局代理软件。Python 的网络库(如httpx,requests)默认会读取系统的环境变量http_proxy和https_proxy。当代码尝试连接localhost或127.0.0.1时,请求被错误地发送到了代理服务器,而代理服务器无法处理本地网络请求,从而返回了502错误。

将"全局模式"改成"规则模式"后,再次运行代码即可解决!!!

相关新闻

  • 3大实战技巧深度解析:如何高效使用SMUDebugTool调优AMD Ryzen处理器
  • 为什么你的ChatGPT中文版总“答非所问”?——基于BERT-Chinese-LLM对齐度评估的语义漂移诊断工具包(限时开放下载)
  • DSEFix:突破Windows驱动签名强制的技术利刃

最新新闻

  • OpenCore Legacy Patcher技术深度解析:老款Mac升级的系统兼容性革命
  • Nmap脚本引擎实战:5个技巧实现精准漏洞感知与安全评估
  • Hot 100 --- K 个一组翻转链表
  • 【open harmony/harmonyos】ArkTS 实现 3D 透视投影:让普通组件拥有空间感
  • 程序员AI时代35岁出路指南
  • 《北戴河之恋》:换一个角度重新听

日新闻

  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化

周新闻

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

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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