使用LangChain调用Ollama模型时出现[WinError 10061]连接拒绝错误的解决方法咨询
看起来你遇到的是LangChain和本地Ollama服务之间的连接问题,这个[WinError 10061]错误通常是因为Ollama的本地服务没启动或者配置不到位导致的,我给你整理几个排查和解决的具体步骤:
第一步:确认Ollama本地服务是否正在运行
LangChain调用Ollama是通过本地的HTTP API(默认端口11434),如果Ollama的后台服务没启动,自然会被拒绝连接。你可以:- 打开任务管理器(按下Ctrl+Shift+Esc),在“进程”列表里找有没有名为
ollama的进程; - 或者直接在命令行输入
ollama serve,手动启动Ollama服务——如果服务原本没启动,这个命令会启动它;如果已经启动了,会提示“Error: listen tcp 127.0.0.1:11434: bind: address already in use”。
- 打开任务管理器(按下Ctrl+Shift+Esc),在“进程”列表里找有没有名为
第二步:检查是否已经拉取了llama3.2模型
代码里指定用llama3.2模型,但如果本地还没下载这个模型,Ollama可能无法正常响应请求。你可以在命令行执行:ollama pull llama3.2等下载完成后再测试代码。另外也可以用
ollama list命令查看本地已有的模型,确认llama3.2在列表里。第三步:验证Ollama的服务端口是否正确(默认是11434)
如果你修改过Ollama的默认端口,那代码里需要明确指定base_url参数。比如如果端口改成了11435,ChatOllama的初始化代码要改成这样:llm = ChatOllama( model='llama3.2', temperature=0, base_url="http://localhost:11435" )要是没改端口,也可以用浏览器访问
http://localhost:11434,如果能看到类似{"models": [...]}的JSON响应,说明端口是正常的。第四步:排查防火墙或杀毒软件的拦截
有些Windows防火墙或者第三方杀毒软件会拦截本地11434端口的通信。你可以临时关闭防火墙/杀毒软件,再测试代码是否能正常运行——如果可以的话,记得给Ollama服务添加防火墙的允许规则,避免后续再出现问题。第五步:直接用Ollama命令行测试模型可用性
在命令行输入ollama run llama3.2,如果能正常进入对话界面,说明模型本身是没问题的,问题就出在LangChain和Ollama服务的连接环节,回到前面的步骤再仔细排查就行。
备注:内容来源于stack exchange,提问作者Dhruva Kumar




