Ollama 让在本地跑 Llama、Mistral 这类大模型变得很简单。它不仅支持命令行交互,还内置了 HTTP API 服务,这意味着我们可以通过 Python 等语言远程调用本地模型,实现私有化、低延迟且无网络依赖的 AI 应用开发。
咱们直接看怎么用 Python 调通它,完成文本生成和对话任务。
一、环境准备
首先得把 Ollama 装好并启动。去官网下载安装包,首次运行会自动下载模型(需联网),之后就能离线用了。
安装后在终端执行:
ollama run llama3 # 或者 mistral、gemma、qwen 等
注意:Ollama 默认会启动一个本地 HTTP 服务(
http://localhost:11434)。即使你只运行ollama run,API 也会在后台可用,不需要额外开进程。
二、API 核心接口
Ollama 的 RESTful API 很简洁,主要就两个:
- POST /api/generate:单轮文本生成(非对话)
- POST /api/chat:多轮对话(推荐用于聊天场景)
本文重点演示 /api/chat,因为它更贴近实际应用场景。
三、Python 调用示例
先确保安装了 requests 库:
pip install requests
1. 基础对话(单轮)
这里封装了一个函数,关闭流式响应以便直接获取完整结果。
import requests
import json
def chat_with_ollama(prompt: str, model: str = "llama3") -> str:
url = "http://localhost:11434/api/chat"
payload = {
"model": model,
"messages": [{"role": "user", "content": prompt}],
"stream": False # 关闭流式响应,获取完整结果
}
response = requests.post(url, json=payload)
if response.status_code == 200:
result = response.json()
return result["message"]["content"]
else:
raise Exception()
answer = chat_with_ollama()
(answer)


