在开发中我们常使用 OpenAI 的 API,但当 Key 额度用完 或 网络受限 时,程序会报错中断。
一个简单且免费的解决办法是 —— 用 Ollama 在本地运行模型。


一、为什么要用 Ollama

  • 免费本地运行:下载后即可离线使用,不依赖云端。
  • 响应快:调用无需网络请求,延迟极低。
  • 数据安全:内容仅在本地处理,不上传服务器。
  • 模型丰富:支持 llama3、qwen2、mistral、gemma 等。

二、安装与启动 Ollama

#安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

#启动服务,Ollama 默认会启动在 http://localhost:11434。
 ollama serve

三、下载并运行模型

例如使用 Qwen 3 1.7B 模型:

ollama pull qwen3:1.7b

后台运行:

nohup ollama serve > /dev/null 2>&1 &

这样 Ollama 会在后台持续运行,不会阻塞 Notebook。

四、在 Python 中调用 Ollama 替代 OpenAI

原本使用 OpenAI:

from openai import OpenAI
client = OpenAI(api_key="your_api_key", base_url="https://api.openai.com/v1")

completion = client.chat.completions.create(
  model="qwen3:1.7b",
  messages=[
    {"role": "system", "content": "你是一个乐于助人的智能AI小助手"},
    {"role": "user", "content": "你好,请你介绍一下你自己"}
  ]
)

print(completion.choices[0].message.content)

改成使用 Ollama:

from openai import OpenAI
client = OpenAI(base_url="http://localhost:11434/v1", api_key="none")

completion = client.chat.completions.create(
  model="qwen3:1.7b",
  messages=[
    {"role": "system", "content": "你是一个乐于助人的智能AI小助手"},
    {"role": "user", "content": "你好,请你介绍一下你自己"}
  ]
)

print(completion.choices[0].message.content)

五、总结

通过替换为 Ollama 本地服务:

  • 不再依赖 OpenAI 的 Key;
  • 可离线运行大模型;
  • 支持更多开源模型,方便实验和部署。

这种方式非常适合 本地开发、离线测试 或 低成本项目原型搭建。

更多推荐