Ollama:本地模型运行与 API 调用
14 个章节
Ollama 的安装、模型管理、存储配置、OpenAI 兼容 API 和 Open WebUI 使用记录。
Ollama
环境:M1 Pro 32GB + 512GB,macOS
一、Ollama 是什么
Ollama 是本地大模型运行引擎,只有命令行,没有图形界面。 生态最好,几乎所有本地 AI 工具都优先支持 Ollama。 核心优势:
- 安装极简,一行命令跑模型
- API 兼容 OpenAI 格式,大量教程代码直接能用
- 模型库丰富,主流开源模型都有
- 周边工具生态最完善
二、安装
brew install ollama
三、常用命令
# 启动服务
ollama serve
# 下载模型
ollama pull qwen3.5:4b
# 运行模型(没有会自动下载)
ollama run qwen3.5:4b
# 查看已下载的模型
ollama list
# 查看运行中的模型
ollama ps
# 停止模型(释放内存)
ollama stop qwen3.5:4b
# 删除模型
ollama rm qwen3.5:4b
# 查看模型详情
ollama show qwen3.5:4b
# 单次提问(不进入对话模式)
ollama run qwen3.5:4b "用一句话解释神经网络"
# 退出对话
>>> /bye
四、模型存储路径
默认路径:~/.ollama/models/
自定义路径(加到 ~/.zshrc):
export OLLAMA_MODELS=/Users/villow/LLM/ollama/
生效:
source ~/.zshrc
# 重启 Ollama 服务
pkill -9 ollama
ollama serve &
目录结构:
/Users/villow/LLM/ollamas/
├── blobs/ # 模型实际文件(sha256-xxx)
└── manifests/ # 模型索引
五、API 调用
Ollama 兼容 OpenAI 格式:
# curl 调用
curl http://localhost:11434/api/chat -d '{
"model": "qwen3.5:4b",
"messages": [{"role": "user", "content": "你好"}],
"stream": false
}'
# Python - 用 OpenAI SDK 调 Ollama
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 随便填
)
response = client.chat.completions.create(
model="qwen3.5:4b",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
六、模型参数详解
常用参数
| 参数 | 说明 | 推荐值 |
|---|---|---|
temperature | 创造性,越高越随机 | 代码:0.2 / 对话:0.7 / 创意:1.0 |
top_p | 词汇范围 | 0.9(默认) |
top_k | 候选词数量 | 40(默认) |
repeat_penalty | 重复惩罚 | 1.1 |
num_ctx | 上下文长度 | 4096~32768 |
num_predict | 最大输出长度 | -1(不限制) |
seed | 随机种子,-1为随机 | 调试时用42固定 |
实用组合
代码生成: temperature=0.2, top_k=20, repeat_penalty=1.1
日常问答: temperature=0.7, top_p=0.9
创意写作: temperature=1.0, top_p=0.95, repeat_penalty=1.2
长文档分析:temperature=0.3, num_ctx=32768
七、周边工具生态
| 工具 | 作用 | 地址 |
|---|---|---|
| Open WebUI | ChatGPT 风格界面 | localhost:3001 |
| Continue.dev | VS Code/IDEA AI 插件 | continue.dev |
| LangChain | AI 应用开发框架 | - |
| LangGraph | Agent 工作流框架 | - |
- LangChain:线性流程,输入 → 处理 → 输出
- LangGraph:图状流程,支持循环、分支、多 Agent 协作
八、Open WebUI
安装(需要 Docker/OrbStack)
docker run -d \
-p 6525:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
访问:http://localhost:3001
主要功能
- 多模型切换(顶部下拉选择)
- 对话历史自动保存
- 上传文件直接问(PDF、代码等)
- 知识库 RAG(左侧菜单)
- 参数实时调整(右上角滑块图标)
- 系统提示词设定角色
关闭 Thinking 模式(加快速度)
在系统提示词或对话开头加:
/no_think