openclaw使用llama.cpp 本地大模型部署教程

openclaw使用llama.cpp 本地大模型部署教程

openclaw使用llama.cpp 本地大模型部署教程

本教程基于实际操作整理,适用于 Windows WSL2 环境

全程使用 openclaw 帮我搭建大模型

在这里插入图片描述

一、环境准备

1. 硬件要求

显卡推荐模型显存占用
GTX 1050 Ti (4GB)Qwen2.5-3B Q4~2.5GB
RTX 4060 (8GB)Qwen2.5-7B Q4~5GB
RTX 4090 (24GB)Qwen2.5-32B Q4~20GB

2. 安装编译工具(WSL Ubuntu)

sudoapt update sudoaptinstall -y cmake build-essential 

二、下载和编译 llama.cpp

1. 克隆源码

mkdir -p ~/llama.cpp cd ~/llama.cpp git clone --depth 1 https://github.com/ggerganov/llama.cpp.git src 

2. 编译

cd ~/llama.cpp/src mkdir build &&cd build cmake .. -DCMAKE_BUILD_TYPE=Release make -j$(nproc) llama-cli llama-server 

编译完成后,可执行文件在 ~/llama.cpp/src/build/bin/ 目录下。


三、下载模型

1. 创建模型目录

mkdir -p ~/llama.cpp/models 

2. 下载 GGUF 模型(使用国内镜像加速)

Qwen2.5-3B(适合 4GB 显存):

curl -L -o ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \"https://hf-mirror.com/Qwen/Qwen2.5-3B-Instruct-GGUF/resolve/main/qwen2.5-3b-instruct-q4_k_m.gguf"

Qwen2.5-7B(适合 8GB 显存):

curl -L -o ~/llama.cpp/models/qwen2.5-7b-instruct-q4_k_m.gguf \"https://hf-mirror.com/Qwen/Qwen2.5-7B-Instruct-GGUF/resolve/main/qwen2.5-7b-instruct-q4_k_m.gguf"

四、运行模型

方式一:命令行交互模式

cd ~/llama.cpp/src/build/bin ./llama-cli -m ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \ -c 4096\ --no-display-prompt 

参数说明:

  • -m 模型路径
  • -c 上下文长度(默认 512,建议 4096)
  • -ngl GPU 层数(纯 CPU 可不加)

方式二:启动 API 服务

cd ~/llama.cpp/src/build/bin ./llama-server \ -m ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \ --host 0.0.0.0 \ --port 8080\ -c 4096

服务启动后访问:http://localhost:8080


五、API 调用方法

API 信息

项目
地址http://localhost:8080
API Key不需要(或随意填写)
兼容格式OpenAI API

端点列表

端点说明
POST /v1/chat/completions聊天补全
POST /v1/completions文本补全
GET /health健康检查
GET /Web 聊天界面

调用示例

curl
curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json"\ -d '{ "model": "qwen2.5-3b", "messages": [ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "你好,介绍一下你自己"} ], "temperature": 0.7, "max_tokens": 512 }'
Python(OpenAI SDK)
from openai import OpenAI client = OpenAI( base_url="http://localhost:8080/v1", api_key="not-needed") response = client.chat.completions.create( model="qwen2.5-3b", messages=[{"role":"system","content":"你是一个有帮助的助手。"},{"role":"user","content":"你好"}], temperature=0.7, max_tokens=512)print(response.choices[0].message.content)
Node.js
const response =awaitfetch('http://localhost:8080/v1/chat/completions',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model:'qwen2.5-3b',messages:[{role:'user',content:'你好'}]})});const data =await response.json(); console.log(data.choices[0].message.content);

六、常用参数说明

服务端参数(llama-server)

参数说明示例
-m模型路径-m model.gguf
--host监听地址--host 0.0.0.0
--port端口--port 8080
-c上下文长度-c 4096
-nglGPU 层数-ngl 99(全部放 GPU)
-np并行请求数-np 4
--api-key设置 API Key--api-key your-key

API 请求参数

参数说明默认值
temperature随机性(0-2)0.7
max_tokens最大生成长度模型上限
top_p核采样1.0
stream流式输出false
stop停止词[]

七、常见问题

Q1: 报错 “CUDA out of memory”

减少 -ngl 数值,让部分层用 CPU 计算:

./llama-server -m model.gguf -ngl 20# 只放 20 层到 GPU

Q2: 中文乱码

PowerShell 执行:

chcp 65001 

Q3: 如何后台运行服务?

nohup ./llama-server -m model.gguf --host 0.0.0.0 --port 8080> server.log 2>&1&

Q4: 如何设置 API Key 认证?

./llama-server -m model.gguf --api-key "your-secret-key"

调用时需要带上:

curl -H "Authorization: Bearer your-secret-key"... 

Q5: 从其他设备访问

  1. 查看 WSL IP:hostname -I
  2. 使用该 IP 访问,如 http://172.x.x.x:8080

八、推荐模型

模型大小适合场景
Qwen2.5-3B-Instruct Q4~2GB轻量对话、低配设备
Qwen2.5-7B-Instruct Q4~4.5GB通用对话、代码
Qwen2.5-14B-Instruct Q4~9GB复杂推理
DeepSeek-R1-Distill-Qwen-7B Q4~4.5GB数学、逻辑推理
Mistral-7B-v0.3 Q5~5GB英文、代码

下载地址: https://hf-mirror.com(国内镜像)


九、文件结构

~/llama.cpp/ ├── src/ # llama.cpp 源码 │ └── build/ │ └── bin/ │ ├── llama-cli # 命令行工具 │ └── llama-server # API 服务 └── models/ # 模型存放目录 └── qwen2.5-3b-instruct-q4_k_m.gguf 

十、快速启动脚本

创建 start-server.sh

#!/bin/bashcd ~/llama.cpp/src/build/bin ./llama-server \ -m ~/llama.cpp/models/qwen2.5-3b-instruct-q4_k_m.gguf \ --host 0.0.0.0 \ --port 8080\ -c 4096\ -np 4

赋予执行权限:

chmod +x start-server.sh ./start-server.sh 

教程整理于 2026-02-03
基于 llama.cpp b7917 + Qwen2.5-3B-Instruct

Read more

开源:AI+无人机巡检系统项目调研

主流开源AI无人机巡检项目调研 本部分系统梳理了当前主流的开源无人机巡检相关项目,涵盖飞控系统、地面站软件、AI视觉识别、数据处理等多个技术栈,为商业化产品开发提供技术选型参考。 一、飞控与地面站开源项目 1.1 PX4 Autopilot 项目地址:github.com/PX4/PX4-Autopilot 开源协议:BSD 3-Clause 项目简介:由Dronecode基金会(Linux基金会旗下)维护的专业级开源自动驾驶仪软件,是全球最广泛使用的无人机飞控系统之一。支持多旋翼、固定翼、垂直起降等多种机型,广泛应用于工业无人机和科研领域。 核心能力:飞行控制、任务规划、传感器融合、MAVLink通信协议、硬件抽象层、模块化架构 1.2 ArduPilot 项目地址:github.com/ArduPilot/ardupilot 开源协议:GPLv3 项目简介:历史最悠久的开源自动驾驶仪项目,社区活跃度极高。

PyTorch实战——基于文本引导的图像生成技术与Stable Diffusion实践

PyTorch实战——基于文本引导的图像生成技术与Stable Diffusion实践

PyTorch实战——基于文本引导的图像生成技术与Stable Diffusion实践 * 0. 前言 * 1. 基于扩散模型的文本生成图像 * 2. 将文本输入编码为嵌入向量 * 3. 条件 UNet 模型中的文本数据融合机制 * 4. 使用 Stable Diffusion 模型生成图像 * 相关链接 0. 前言 在本节中,我们将为扩散模型添加文本控制能力。学习如何通过文字描述来引导图像生成过程,实现从"纯噪声+文本"生成图像,而不仅是从纯噪声生成。 1. 基于扩散模型的文本生成图像 在扩散模型的 UNet 模型训练流程中,我们仅训练模型从含噪图像中预测噪声。为实现文生图功能,需使用以下架构,将文本作为额外输入注入 UNet 模型: 这样的 UNet 模型称为条件 UNet 模型 ,或者更精确地说,是文本条件 UNet

智能桌面机器人快速上手指南:3步打造你的AI桌面伙伴

智能桌面机器人快速上手指南:3步打造你的AI桌面伙伴 【免费下载链接】ElectronBot 项目地址: https://gitcode.com/gh_mirrors/el/ElectronBot 想拥有一个能眨眼、会表达情绪的智能桌面机器人吗?ElectronBot这个开源项目让你零基础也能实现这个梦想!无论你是编程新手还是硬件爱好者,跟着这篇指南,3步就能搭建属于自己的AI桌面伙伴。 为什么你应该尝试智能桌面机器人? 桌面机器人不只是科技玩具,它更是连接现实与数字世界的桥梁。通过ElectronBot项目,你将收获: * 动手乐趣:亲手组装机械部件,感受创造的快乐 * 编程入门:通过简单的代码控制机器人动作,轻松学习编程思维 * 创意表达:让这个小机器人成为你的表情包播放器、桌面提醒助手 三大技术突破:从想象到现实 突破一:模块化设计让搭建变简单 🎯 传统的机器人制作需要深厚的硬件知识,但ElectronBot采用模块化设计,将复杂系统分解为四个核心模块: * 主控大脑:STM32芯片负责整体协调 * 感知系统:手势识别传感器让机器人"看懂"你的动

论文笔记DiT:Scalable Diffusion Models with Transformers(含transformer的可扩展扩散模型 )

论文笔记DiT:Scalable Diffusion Models with Transformers(含transformer的可扩展扩散模型 )

Abstract:     论文的核心思想非常直接:用一个标准的 Transformer 架构替换掉扩散模型中常用的 U-Net 主干网络,并证明这种新架构(称为 DiT, Diffusion Transformer)具有出色的可扩展性(Scalability)。 Background & Motivation:     在论文发表前,Transformer 已经在自然语言处理(BERT, GPT)和计算机视觉(ViT)等领域取得了巨大成功,成为了一种“统一”的架构。然而,在图像生成领域,特别是扩散模型中,大家仍然普遍使用 U-Net。U-Net 因其多尺度特征融合和卷积的局部归纳偏置而被广泛采用。     在深度学习中,一个好的架构应该具备良好的“可扩展性”——即投入更多的计算资源(更大的模型、更多的数据),性能应该会持续稳定地提升。ViT 已经证明了 Transformer 在视觉识别任务上具有这种特性。作者们希望验证 DiT 是否也具备这种优良特性,为未来的生成模型发展指明一条清晰的路径。