Jetson 上 OpenClaw + Ollama + llama.cpp 的联动配置模板部署大模型

Jetson 上我建议的联动方式是:OpenClaw -> Ollama(主模型,原生 API)+ llama.cpp(备用/低资源模型,OpenAI 兼容 API)+ Ollama embeddings(memorySearch) 这样做的原因是,OpenClaw 官方把 Ollama + openclaw onboard 作为最低冲突的本地方案;同时它也支持把 vLLM / LiteLLM / 自定义 OpenAI-compatible 本地代理 作为额外 provider 接进来。Ollama 这边,OpenClaw 明确推荐走原生 http://host:11434,不要给它配 /v1,否则工具调用会变差;而 llama.cppllama-server 则原生提供 OpenAI-compatible chat completions / responses / embeddings 路由,适合当第二套本地后端。([OpenClaw][1])

另外,OpenClaw 的本地模型指南也明确提醒:它默认期待大上下文和较强的提示注入防护,小硬件上的强量化/小模型更容易丢上下文或降低安全裕量。所以在 Jetson Orin NX 16G 上,更稳的策略是把 Ollama 设为主模型,把 llama.cpp 设为 fallback 或专用模型,而不是反过来。([OpenClaw][1])

下面给你一份推荐版模板
特点是 Ollama 走自动发现,你不用手工维护本地模型清单;llama.cpp 作为一个显式自定义 provider 接入;memorySearch 用 Ollama 的 /api/embeddings。OpenClaw 的文档说明,只要设置了 OLLAMA_API_KEY 且没有显式写 models.providers.ollama,它就会从本地 http://127.0.0.1:11434 自动发现模型memorySearch.provider = "ollama" 也是官方支持的,只是不会自动选中,所以这里显式打开。([OpenClaw][2])

先准备环境变量:

exportOLLAMA_API_KEY="ollama-local"exportOPENCLAW_GATEWAY_TOKEN="replace-with-a-long-random-token"

把下面保存为 ~/.openclaw/openclaw.json

{ identity: { name: "Jetson-Claw", theme: "local edge agent", emoji: "🦙", }, gateway: { bind: "loopback", port: 18789, auth: { token: "${OPENCLAW_GATEWAY_TOKEN}", }, }, agent: { workspace: "~/.openclaw/workspace", }, agents: { defaults: { model: { // 主模型:走 Ollama(自动发现) primary: "ollama/qwen2.5:7b-instruct", // 备用:先退到 llama.cpp,再退到另一个 Ollama 小模型 fallbacks: [ "llamacpp/qwen2.5-7b-instruct-gguf", "ollama/llama3.2:3b", ], }, models: { "ollama/qwen2.5:7b-instruct": { alias: "Ollama 主模型" }, "llamacpp/qwen2.5-7b-instruct-gguf": { alias: "llama.cpp 备用" }, "ollama/llama3.2:3b": { alias: "Ollama 小模型" }, }, memorySearch: { enabled: true, // 用 Ollama embeddings,而不是 OpenClaw 的 local(node-llama-cpp) 模式 provider: "ollama", // 换成你本机实际装好的 embedding 模型 model: "YOUR_OLLAMA_EMBED_MODEL", // Jetson 上先不要再级联更多 embedding fallback,保持简单 fallback: "none", cache: { enabled: true, maxEntries: 50000, }, sync: { watch: true, }, }, }, }, models: { // 保留合并模式,未来你还可以叠加云端 provider mode: "merge", providers: { // llama.cpp 作为自定义 OpenAI-compatible provider llamacpp: { baseUrl: "http://127.0.0.1:8080/v1", apiKey: "llama-local", api: "openai-completions", models: [ { id: "qwen2.5-7b-instruct-gguf", name: "Qwen2.5 7B Instruct GGUF", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 4096, maxTokens: 1024, }, ], }, }, }, } 

这个模板的关键点有三个:

第一,Ollama 不写 models.providers.ollama。因为官方文档说,一旦你显式写了 models.providers.ollama自动发现会被关闭,你就得自己维护模型列表;不写则会自动从本地 Ollama 实例发现模型。([OpenClaw][2])

第二,llama.cpp 走 /v1,并用 api: "openai-completions"。OpenClaw 官方对“其他 OpenAI-compatible 本地代理”给的标准接法,就是 models.providers.<id> + baseUrl + api + models 这一套;而 llama.cpp 官方文档确认 llama-server 提供 OpenAI-compatible 路由。([OpenClaw][1])

第三,memorySearch 用 Ollama,不用 local。因为 OpenClaw 文档里写得很清楚:memorySearch.provider = "local" 走的是 node-llama-cpp,可能需要额外的 pnpm approve-builds / pnpm rebuild;而 memorySearch.provider = "ollama" 是官方支持的本地/self-hosted embeddings 路径,更适合先把 Jetson 跑稳。([OpenClaw][3])


启动顺序

先起 Ollama。Ollama 官方 API 默认就在 http://localhost:11434/api。 ([Ollama Docs][4])

ollama serve ollama list 

然后起 llama.cpp

~/src/llama.cpp/build/bin/llama-server \-m ~/models/base/model.gguf \--host127.0.0.1 \--port8080\-c4096\-np1\-ctk q8_0 \-ctv q8_0 

再检查两个后端:

curl http://127.0.0.1:11434/api/tags curl http://127.0.0.1:8080/v1/models 

最后让 OpenClaw 读配置:

openclaw gateway restart openclaw models list openclaw health openclaw gateway status 

如果你想把 Ollama 也改成“显式配置”

只有在这几种情况下才建议这么做:
你要连远程 Ollama、你想强制指定 contextWindow/maxTokens、或者你想完全手工管模型列表。官方文档明确说,远程 Ollama 时应使用 baseUrl: "http://host:11434",不要加 /v1,并把 api 设成 "ollama" 以保证原生工具调用行为。([OpenClaw][2])

对应模板是:

{ models: { mode: "merge", providers: { ollama: { baseUrl: "http://127.0.0.1:11434", apiKey: "${OLLAMA_API_KEY}", api: "ollama", models: [ { id: "qwen2.5:7b-instruct", name: "Qwen2.5 7B Instruct", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 8192, maxTokens: 2048, }, { id: "llama3.2:3b", name: "Llama 3.2 3B", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 8192, maxTokens: 2048, }, ], }, }, }, } 

远程控制这台 Jetson 的模板

OpenClaw 官方建议把 Gateway 绑在 loopback,然后通过 SSH 隧道 从笔记本连进去;默认网关端口是 18789。如果你希望本地电脑上的 OpenClaw CLI 默认连这台 Jetson,可以把 gateway.mode: "remote"gateway.remote.url/token 写进去。([OpenClaw][5])

先在你的笔记本上开隧道:

ssh-N-L18789:127.0.0.1:18789 user@jetson-host 

然后在本地电脑的 OpenClaw 配置里加:

{ gateway: { mode: "remote", remote: { url: "ws://127.0.0.1:18789", token: "your-token", }, }, } 

这样之后本地的 openclaw healthopenclaw status 之类就会默认走这个远程 Gateway。([OpenClaw][5])


两个最容易踩的坑

不要把 OpenClaw 连 Ollama 时写成 http://127.0.0.1:11434/v1 官方文档明确说,这会切到 OpenAI-compatible 模式,工具调用会变得不可靠,模型可能把工具 JSON 当纯文本吐出来。([OpenClaw][2])

不要一开始就把 memorySearch.provider 设成 local 这条路走的是 node-llama-cpp,本地编译和依赖更重;Jetson 上先用 ollama embeddings 更省心。([OpenClaw][3])

后面会陆续加入openclaw gateway安全模式下与ros联动配置。

参考链接:
[1]: https://docs.openclaw.ai/gateway/local-models “Local Models - OpenClaw”
[2]: https://docs.openclaw.ai/providers/ollama “Ollama - OpenClaw”
[3]: https://docs.openclaw.ai/reference/memory-config “Memory configuration reference - OpenClaw”
[4]: https://docs.ollama.com/api/introduction “Introduction - Ollama”
[5]: https://docs.openclaw.ai/gateway/remote “Remote Access - OpenClaw”

Read more

llama.cpp加载多模态gguf模型

llama.cpp预编译包还不支持cuda12.6 llama.cpp的编译,也有各种坑 llama.cpp.python的也需要编译 llama.cpp命令行加载多模态模型 llama-mtmd-cli -m Qwen2.5-VL-3B-Instruct-q8_0.gguf --mmproj Qwen2.5-VL-3B-Instruct-mmproj-f16.gguf -p "Describe this image." --image ./car-1.jpg **模型主gguf文件要和mmporj文件从一个库里下载,否则会有兼容问题,建议从ggml的官方库里下载 Multimodal GGUFs官方库 llama.cpp.python加载多模态模型 看官方文档 要使用LlamaChatHandler类,官方已经写好了不少多模态模型的加载类,比如qwen2.5vl的写法: from llama_cpp import Llama

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

1.引言 随着大模型在各类智能应用中的广泛应用,高效的推理硬件成为关键瓶颈。昇腾 NPU(Ascend Neural Processing Unit)凭借其高算力、低能耗以及对 SGLang 的深度优化,能够显著提升大模型推理性能。本文以 Llama 3-8B-Instruct 为例,通过在昇腾 NPU 上的实测,展示其在吞吐量、延迟和资源利用方面的优势,并探索可行的优化策略,为开发者在今后的开发中提供可参考的案例。 在本篇文章中我们会使用到Gitcode的Notebook来进行实战,GitCode Notebook 提供了开箱即用的云端开发环境,支持 Python、SGLang 及昇腾 NPU 相关依赖,无需本地复杂环境配置即可直接运行代码和进行实验。对于没有硬件平台的小伙伴来说是非常便利的。 GitCode Notebook使用链接:https://gitcode.com/user/m0_49476241/notebook。 2.实验环境与准备 2.

MixAIHub官网入口 一键解锁全球AI模型 支持ChatGPT、Claude、Sora、Grok、Midjourney等AI官网镜像!最好用的AI官网镜像工具!

MixAIHub.com 是一家AI镜像网站,支持 ChatGPT、Claude、Sora、Grok、Midjourney 等大模型平台,官网完整还原,包含其官网的全部功能。已经成为许多开发者、内容创作者和普通用户的日常工具。但对很多中国大陆的用户来说,访问这些平台往往意味着翻墙、配置、登录、跳转等一系列繁琐步骤。 MixAIHub以镜像方式完整还原其官网体验,包括界面布局、交互流程、以及全部核心功能。你可以像使用原站一样,在 MixAIHub 上使用 ChatGPT 的全部能力,体验 Claude 的写作助手,输入提示词到 Midjourney 生成图像,或直接在网页上与 Sora 和 Grok 对话。 无需任何科学上网手段,无需切换客户端,也无需注册登录,打开浏览器即可进入 MixAI Hub官网地址 MixAIHub官网地址:https://mixaihub.com/

Stable Diffusion + kohya_ss 的安装教程

Stable Diffusion + kohya_ss 的安装教程

工具简介 * Stable Diffusion (SD): 开源的文本到图像生成模型,支持通过提示词生成高质量图像,内置自动标注功能(如BLIP、DeepBooru等)。 * kohya_ss (KS): 基于SD的轻量级微调工具,支持LoRA、DreamBooth等训练方法,优化显存占用与训练效率。 一.SD的安装 对于SD大家可以通过github链接来下载 https://git-scm.com/ Automatic 1111:https://github.com/AUTOMATIC1111 这里提供的链接,下载的SD是最基础的,如果大家想要让他有其他的扩展功能就需要下载相关的插件(后面会写一个关于下载插件的教程请大家持续关注)。 1.准备 Conda 环境 1.1 创建并激活 Conda 环境 # 创建名为 sd-webui 的环境(Python 3.10 推荐,需匹配仓库要求) conda