本地 LLM (Ollama)
KaaS 兼容任何 OpenAI 兼容的 API,包括 Ollama — 完全本地化的私有 LLM 推理服务。本指南介绍如何将 Ollama 配置为 KaaS 的 LLM 后端。
前置条件
- 至少 8 GB 内存的机器(大模型建议 16 GB+)
- 已通过 Docker 或 CLI 安装 KaaS
第 1 步:安装 Ollama
macOS:
bash
brew install ollamaLinux:
bash
curl -fsSL https://ollama.ai/install.sh | sh验证安装:
bash
ollama --version第 2 步:启动 Ollama
bash
ollama serve默认情况下,Ollama 监听 http://localhost:11434。保持后台运行(Linux 上可用 systemctl enable ollama 设置自启动)。
第 3 步:拉取模型
选择并下载模型。对于知识编译任务,建议使用 8B+ 参数的模型:
bash
# 推荐:质量与速度的平衡
ollama pull llama3
# 其他选择
ollama pull mistral
ollama pull qwen2
ollama pull gemma2验证模型已就绪:
bash
ollama list第 4 步:配置 KaaS
通过环境变量将 KaaS 指向 Ollama 端点:
Docker:
bash
docker run -d --name kaas \
-p 8080:8080 \
-v ./data:/app/data \
-e LLM_BASE_URL=http://host.docker.internal:11434/v1 \
-e LLM_MODEL=llama3 \
-e LLM_API_KEY=ollama \
kaasCLI:
bash
export LLM_BASE_URL="http://localhost:11434/v1"
export LLM_MODEL="llama3"
export LLM_API_KEY="ollama" # Ollama 会忽略此值,但 KaaS 需要非空值
kaas serve或在 etc/kaas.toml 中配置:
toml
[llm]
api_key = "ollama"
base_url = "http://localhost:11434/v1"
model = "llama3"WARNING
在 Docker 中运行 KaaS 时,使用 host.docker.internal(macOS/Windows)或 172.17.0.1(Linux)代替 localhost 来访问宿主机上的 Ollama。
第 5 步:验证连接
启动 KaaS 后,检查是否能连通 Ollama:
bash
# 快速测试 — 直接调用 Ollama 的 OpenAI 兼容端点
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "llama3", "messages": [{"role": "user", "content": "hello"}]}'如果收到流式响应,说明 Ollama 已就绪。打开 http://localhost:8080 并提交内容,验证端到端的编译流程是否正常。
性能考量
| 模型大小 | 内存需求 | 编译速度 | 质量 |
|---|---|---|---|
| 7-8B | 8 GB | 快 | 适合大多数场景 |
| 13-14B | 16 GB | 中等 | 更好的提取精度 |
| 70B+ | 48 GB+ | 慢 | 最佳质量,需要 GPU |
建议:
- 最低可用:
llama3(8B)— 速度与质量的良好平衡。 - 更高质量:
llama3:70b或qwen2:72b— 没有 GPU 时显著更慢。 - GPU 加速:Ollama 在检测到 GPU 时自动使用(NVIDIA、Apple Silicon),无需额外配置。
- 摘要模型:对于大型语料库,可以为摘要任务设置更小/更快的模型:
bash
export LLM_SUMMARIZE_MODEL="llama3" # 用较小模型处理摘要
export LLM_MODEL="qwen2:72b" # 用较大模型处理主编译故障排查
| 现象 | 原因 | 解决方法 |
|---|---|---|
| 连接被拒绝 | Ollama 未运行 | 执行 ollama serve |
| 模型未找到 | 模型未拉取 | 执行 ollama pull <model> |
| 响应极慢 | 模型超出内存容量 | 使用更小的模型或添加 GPU |
| Docker 无法访问 Ollama | 主机名错误 | 使用 host.docker.internal 或 172.17.0.1 |