Windows11本地Ollama部署Llama3,Jupyter Notebook无法获取JSON响应求助
问题分析与解决方案
核心问题
你遇到的404错误主要有两个原因:
- Ollama服务未正确在后台运行,或Jupyter中执行
ollama serve导致线程阻塞,后续请求无法触达服务 - API端点路径错误,且未配置正确的请求参数
解决方案步骤
1. 确保Ollama后台服务正常运行
- 打开Windows任务管理器,切换到「服务」标签,找到
Ollama服务:- 若状态为「未运行」,右键选择「启动」
- 若已运行,先右键「停止」再「启动」,强制重启服务
- 不要在Jupyter Notebook中执行
ollama serve:该命令会让Ollama在前台运行,占据当前cell线程,导致后续请求无法执行。Windows上Ollama默认以后台服务运行,无需手动执行此命令。
2. 修正API调用代码
Ollama的正确生成端点是/api/generate,且需关闭流式输出才能返回完整可解析的JSON,修正后的代码如下:
import requests def query_ollama(prompt: str, model: str = "llama3") -> dict: url = "http://localhost:11434/api/generate" payload = { "model": model, "prompt": prompt, "stream": False # 关闭流式输出,返回完整JSON结构 } headers = {"Content-Type": "application/json"} response = requests.post(url, json=payload, headers=headers) # Debug输出 print("Status Code:", response.status_code) print("Raw Response:", response.text) if response.status_code == 200: try: return response.json() except ValueError as e: print("JSON解析错误:", e) return {"error": "无效的JSON响应"} else: return {"error": f"请求失败,状态码: {response.status_code}"} # 测试函数 prompt = "法国的首都是什么?" response_json = query_ollama(prompt) print(response_json)
3. 验证API可用性
在Jupyter中单独执行以下cell,确认服务正常:
!curl http://localhost:11434/api/tags
若返回包含llama3的JSON数据,说明服务已正常运行。
内容的提问来源于stack exchange,提问作者Pri
相关产品推荐
相关产品推荐

