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

FPGA读写DDR4 (一)MIG IP核控制信号

FPGA读写DDR4 (一)MIG IP核控制信号

前言         这几个星期在倒腾DDR4内存的读写控制,期间看了不少资料,这几天终于完工了于是想着把做过的内容总结一下,于是有了这篇文章,由于控制DDR4的内容很多,这一篇文章就只讲基础的,也就是DDR4的控制IP核 MIG的控制信号。         主要参考内容:【正点原子】MPSoC-P4之FPGA开发指南_V2.0,[XILINX] pg150-ultrascale-memory-ip-en-us-1.4 MIG IP核控制信号 IP核创建界面         MIG IP核(memory interface generator)是用户与DDR4进行沟通的桥梁,因为如果我们自己去写直接DDR4代码的话,其内容将会非常复杂,而且即便写出来其性能可能也不会好,以XILINX提供的MIG IP核为例,在综合布线后查看utilization,能发现MIG IP核足足使用了约7500个LUT和9000个register资源,足以看出其编写的复杂,不过对于我们普通用户,能够操作MIG提供的用户接口就我觉得就算差不多了,既然要使用IP核,我们就从IP核的创建界面开始说起,

什么是虚拟现实(VR)?

什么是虚拟现实(VR)?

目录 1 虚拟现实的概念 2 虚拟现实的发展历程 2.1 概念萌芽期 2.2 研发初期 2.3 技术积累期 2.4 产品探索期 2.5 产品化初期 2.6 产品化发展期 3 虚拟现实相关技术 3.1 基础核心 3.2 引擎与工具 3.3 建模工具 3.4 VR人机交互 1 虚拟现实的概念 虚拟现实(Virtual Reality,简称 VR)是一门利用计算机模拟生成一个三维的、沉浸式的数字环境,并通过多感官交互手段,使用户产生“身临其境”感觉的技术。

Spring Boot 集成 Neo4j 图数据库实战教程

Spring Boot 集成 Neo4j 图数据库实战教程

在当今大数据时代,传统的关系型数据库在处理复杂关系网络时往往力不从心。Neo4j 作为领先的图数据库,能够高效地存储和查询海量关系数据。本文将详细介绍如何在 Spring Boot 项目中集成 Neo4j,并提供完整的实战案例,帮助读者快速掌握图数据库的开发技巧。 一、图数据库概述与 Neo4j 简介 1.1 为什么选择图数据库 在传统的关系型数据库中,当我们需要查询"朋友的朋友"这样的多跳关系时,往往需要编写复杂的多表关联查询,性能随关系层数增加呈指数级下降。而图数据库天然适合处理这类场景,它将数据之间的关系作为核心Citizens,利用图遍历算法高效地查询关系网络。 图数据库的核心优势体现在以下几个方面。首先是性能优势,对于深度关系查询,图数据库的性能是关系型数据库的数倍甚至数十倍。其次是灵活性优势,图数据库的 schema 更加灵活,可以随时添加新的节点类型和关系类型,而无需修改表结构。第三是表达力优势,图的数据模型更加直观,使用节点和边来描述现实世界的关系,与人类的思维方式更加契合。 Neo4j 是目前最流行的图数据库之一,它使用 Cypher 查询语言,具有高性能

OpenREALM:无人机实时映射框架的技术深度解析

OpenREALM:无人机实时映射框架的技术深度解析

在无人机应用日益广泛的当下,精准、高效的实时映射技术成为推动行业发展的关键。传统无人机映射方案往往存在数据处理滞后、对复杂地形适应性差等问题,难以满足精准农业、应急救援等场景的实时决策需求。OpenREALM 作为一款开源的无人机实时映射框架,创新性地融合了视觉 SLAM、单目稠密重建等前沿技术,实现了从 2D 图像拼接至 3D 表面重建的多模式映射功能。 原文链接:https://arxiv.org/pdf/2009.10492 代码链接:https://github.com/laxnpander/OpenREALM 沐小含持续分享前沿算法论文,欢迎关注... 一、引言:无人机映射技术的现状与挑战 1.1 应用背景与核心需求 人类对世界的勘测需求推动了映射技术的持续发展,而无人机的兴起为空中勘测提供了全新的解决方案。空中影像已广泛应用于精准农业、城市规划、灾害风险管理等关键领域,这些应用场景不仅对数据分辨率有较高要求,更在可用性、成本和映射效率方面提出了严苛标准。传统的有人机勘测存在操作复杂、成本高昂等局限,而无人机凭借轻量化设计、自主飞行能力强等优势,