介绍
# Ollama Local
使用本地 Ollama 模型进行推理、嵌入和工具使用。
## 配置
设置您的 Ollama 主机(默认为 `http://localhost:11434`):
```bash export OLLAMA_HOST="http://localhost:11434" # Or for remote server: export OLLAMA_HOST="http://192.168.1.100:11434" ```
## 快速参考
```bash # List models python3 scripts/ollama.py list
# Pull a model python3 scripts/ollama.py pull llama3.1:8b
# Remove a model python3 scripts/ollama.py rm modelname
# Show model details python3 scripts/ollama.py show qwen3:4b
# Chat with a model python3 scripts/ollama.py chat qwen3:4b "What is the capital of France?"
# Chat with system prompt python3 scripts/ollama.py chat llama3.1:8b "Review this code" -s "You are a code reviewer"
# Generate completion (non-chat) python3 scripts/ollama.py generate qwen3:4b "Once upon a time"
# Get embeddings python3 scripts/ollama.py embed bge-m3 "Text to embed" ```
## 模型选择
请参阅 [references/models.md](references/models.md) 获取完整的模型列表和选择指南。
**快速推荐:** - 快速回答:`qwen3:4b` - 代码:`qwen2.5-coder:7b` - 通用:`llama3.1:8b` - 推理:`deepseek-r1:8b`
## 工具使用
某些本地模型支持函数调用。使用 `ollama_tools.py`:
```bash # Single request with tools python3 scripts/ollama_tools.py single qwen2.5-coder:7b "What's the weather in Amsterdam?"
# Full tool loop (model calls tools, gets results, responds) python3 scripts/ollama_tools.py loop qwen3:4b "Search for Python tutorials and summarize"
# Show available example tools python3 scripts/ollama_tools.py tools ```
**支持工具的模型:** qwen2.5-coder、qwen3、llama3.1、mistral
## OpenClaw 子代理
使用 `sessions_spawn` 生成本地模型子代理:
```python # Example: spawn a coding agent sessions_spawn( task="Review this Python code for bugs", model="ollama/qwen2.5-coder:7b", label="code-review" ) ```
模型路径格式:`ollama/<model-name>`
### 并行代理(智库模式)
生成多个本地代理以进行协作任务:
```python agents = [ {"label": "architect", "model": "ollama/gemma3:12b", "task": "Design the system architecture"}, {"label": "coder", "model": "ollama/qwen2.5-coder:7b", "task": "Implement the core logic"}, {"label": "reviewer", "model": "ollama/llama3.1:8b", "task": "Review for bugs and improvements"}, ]
for a in agents: sessions_spawn(task=a["task"], model=a["model"], label=a["label"]) ```
## 直接 API
对于自定义集成,直接使用 Ollama API:
```bash # Chat curl $OLLAMA_HOST/api/chat -d '{ "model": "qwen3:4b", "messages": [{"role": "user", "content": "Hello"}], "stream": false }'
# Generate curl $OLLAMA_HOST/api/generate -d '{ "model": "qwen3:4b", "prompt": "Why is the sky blue?", "stream": false }'
# List models curl $OLLAMA_HOST/api/tags
# Pull model curl $OLLAMA_HOST/api/pull -d '{"name": "phi3:mini"}' ```
## 故障排除
**连接被拒绝?** - 检查 Ollama 是否正在运行:`ollama serve` - 验证 OLLAMA_HOST 是否正确 - 对于远程服务器,请确保防火墙允许端口 11434
**模型未加载?** - 检查显存(VRAM):较大的模型可能需要 CPU 卸载 - 尝试先使用较小的模型
**响应缓慢?** - 模型可能正在 CPU 上运行 - 使用较小的量化版本(例如,使用 `:7b` 而不是 `:30b`)
**OpenClaw 子代理回退到默认模型?** - 确保 OpenClaw 配置中存在 `ollama:default` 认证配置文件 - 检查模型路径格式:`ollama/modelname:tag`