You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11本地Ollama部署Llama3,Jupyter Notebook无法获取JSON响应求助

问题分析与解决方案

核心问题

你遇到的404错误主要有两个原因:

  1. Ollama服务未正确在后台运行,或Jupyter中执行ollama serve导致线程阻塞,后续请求无法触达服务
  2. 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:25:04