)
用本地大模型跑nanobotOllama与vLLM接入完整教程含Prompt Cache优化【免费下载链接】nanobotUltra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps项目地址: https://gitcode.com/gh_mirrors/nanob/nanobot本文教你把nanobot接入本地大模型nanobot 是一个超轻量、开源、可自托管的 Python 个人 AI Agent 框架自带 WebUI、工具调用、长期记忆、MCP 与多 Agent 工作流。接入 Ollama 或 vLLM 后你的 Agent 完全离线运行数据不出本机且免费无 token 费用。为什么要把 nanobot 跑在本地大模型上隐私对话内容、文件读写全部留在本地不经过任何云端 API零成本不用按 token 付费7x24 小时挂机也无压力可玩性8B 级别模型在消费级显卡上就能驱动一个会调工具、有记忆的 Agentnanobot 的整体架构如下图所示消息进入 Agent Loop 后由 LLM 驱动 Tools 执行Memory 与 Skills 提供上下文支撑本地服务器Ollama / vLLM扮演图中 LLM 节点背后的模型来源nanobot 通过 OpenAI 兼容接口与之通信。架构细节见 docs/concepts.md。准备工作安装 nanobot任选一种方式python -m pip install nanobot-ai或使用官方安装脚本见 scripts/install.shcurl -fsSL https://raw.githubusercontent.com/nanobot-ai/nanobot/main/scripts/install.sh | bash安装完成后可随时用nanobot status查看当前生效的模型与 Provider 配置。方案一Ollama 接入最快上手Ollama 是本地模型的一键运行器适合新手。三步完成第 1 步启动服务并拉取模型ollama serve ollama pull llama3.2第 2 步配置 nanobot编辑~/.nanobot/config.json合并以下配置完整字段说明见 docs/provider-cookbook.md{ providers: { ollama: { apiBase: http://localhost:11434/v1 } }, modelPresets: { local: { provider: ollama, model: llama3.2, maxTokens: 2048, contextWindowTokens: 32768, temperature: 0.2 } }, agents: { defaults: { modelPreset: local } } }大多数 Ollama 场景不需要 API Key。Provider 的注册逻辑位于 nanobot/providers/registry.py。第 3 步验证连通性curl -sS http://localhost:11434/v1/models nanobot agent -m Hello!看到模型列表且 Agent 正常应答说明接入成功。若出现connection refused先确认 Ollama 服务在跑、apiBase端口正确。方案二vLLM 接入更高吞吐⚡vLLM 提供与 OpenAI 完全兼容的/v1接口适合有独立 GPU、追求高并发和低延迟的场景同时也适用于 LM Studio 等同类本地服务器。第 1 步启动 vLLM 服务vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000第 2 步配置 nanobot{ providers: { vllm: { apiBase: http://127.0.0.1:8000/v1, apiKey: EMPTY } }, modelPresets: { vllm: { provider: vllm, model: served-model-name, maxTokens: 4096, contextWindowTokens: 65536, temperature: 0.2 } }, agents: { defaults: { modelPreset: vllm } } }served-model-name是 vLLM 实际对外暴露的模型名可通过/v1/models查看不一定是权重库里的完整名称。详细配置见 docs/configuration.md 的 vLLM 章节。Ollama vs vLLM 怎么选维度OllamavLLM上手难度极低一条命令中等需 GPU 环境并发吞吐一般显著更高上下文窗口受OLLAMA_CONTEXT_LENGTH限制更大更灵活适合人群新手、单机自用多会话、网关部署Prompt Cache 优化让工具调用不再卡壳 这是本地部署最容易被忽视的性能坑。现象是直接问模型很快但一旦 nanobot 调用工具后每轮都明显变慢。原因是部分 Ollama 模型模板会在用户消息与工具消息之间搬动工具定义的位置导致前缀变化、KV Cache 大面积失效。官方诊断与修复指南在 docs/guides/configure-ollama-prompt-cache.md。快速判断方法用单槽位调试模式启动 OllamaOLLAMA_NUM_PARALLEL1 OLLAMA_DEBUG1 ollama serve连续发两条要求调用工具的消息观察日志中cached n_tokensturn 1 main: 2 / 8460 initially cached turn 1 tool follow-up: 3713 / 3758 initially cached turn 2 main: 3767 / 8519 initially cached ← 只有 44% 复用修复思路基于llama3.1:8b派生一个前缀稳定的自定义标签不修改原模型、不复制权重层把工具定义固定在 system 块中ollama create llama3.1:8b-prefix-stable-v1 -f PrefixStable.Modelfile然后在 nanobot 的modelPresets中把model指向llama3.1:8b-prefix-stable-v1。实测效果Ollama 0.32.1 llama3.1:8b第二个主请求的缓存复用率从 44.2% 提升到99.8%重复评估的 token 数从 4752 降到 15。配置完成后即可在 WebUI 中与本地模型 Agent 对话验证常见问题速查表症状原因与解决connection refused本地服务未启动或apiBase端口错误provider not found预设里写错了 Provider 名应使用ollama、vllm、lm_studio等注册名响应都很慢换更小的模型或调低contextWindowTokens工具调用后特别慢按上文做 Prompt Cache 诊断与修复更多排查项见 docs/troubleshooting.md。总结新手选 Ollama一条ollama pull加一段 JSON5 分钟跑通本地 Agent进阶选 vLLMOpenAI 兼容接口吞吐和上下文能力更强性能必做用工具调用后明显变慢时按 Prompt Cache 指南做前缀稳定化缓存复用率可提升数倍nanobot 的本地模型接入本质上就是一个apiBase 一个模型预设配置极简却能把一个完整的 AI Agent工具、记忆、MCP、自动化彻底搬进你的内网。【免费下载链接】nanobotUltra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps项目地址: https://gitcode.com/gh_mirrors/nanob/nanobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考