Token 不再焦虑:用 GPUStack + OpenClaw 搭一个“无限用”的本地 AI 助手

AI小智语音服务架构与嵌入式成本优化实践 语音交互系统是智能硬件的核心能力,其本质是端云协同的实时数据处理链路,涵盖音频采集、流式传输、语义理解与语音合成四大技术环节。原理上需严格划分物理层(确定性音频I/O)、协议层(WebSocket/Range可靠性通信)和语义层(ASR/LLM/TTS职责解耦),以保障低延迟与高可用。技术价值在于通过VAD前置过滤、分块下载、Token截断等嵌入式级优化,显著降低云端调用成本与网络开销。典型应用场景包括儿童故事机、智能音箱、教育机器人等对响应速度、音色自然度和单次交互成本敏感的AI小智设备。本文聚焦火山引擎 阅读详情

关注🌟⌈GPUStack⌋ 💻
一起学习 AI、GPU 管理与大模型相关技术实践。

这两年,越来越多团队把 AI 接入了日常工作流。
但很快,一个现实问题摆在了面前:

模型用得越多,Token 花得越快,成本和心理压力也随之上涨。

很多人一边依赖 AI 提效,一边又不得不「省着用」「少让它多想」。
到最后,AI 反而成了一种被精打细算的消耗品。

如果 AI 能跑在自己的 GPU 上,
不按 Token 计费、可以随时对话、长期运行在协作工具里,
它才更像一个真正的“工作助手”。

基于 GPUStack 提供的本地模型能力,结合 OpenClaw(支持 WhatsApp、Telegram、Discord、Slack、飞书等多种协作平台) 与飞书,
本文将一步步演示如何构建一个可真实使用、可持续运行、几乎不再关心 Token 消耗的本地 AI 助手。

📌 本文内容

  1. 使用 GPUStack 部署模型
  2. 飞书机器人应用创建与权限配置
  3. OpenClaw 的安装、配置与关键注意事项
  4. 飞书侧首次授权与连通性测试
  5. 实战示例:让小助手给 GPUStack 项目标星
  6. 小助手内置指令说明
  7. OpenClaw 实用命令与资源入口

一、使用 GPUStack 部署模型并准备接入信息

在接入 OpenClaw 之前,我们需要先在 GPUStack 中完成模型部署,并获取模型服务的访问信息。

本节将以 Qwen3.5-35B-A3B 为例,演示从
自定义推理后端 → 部署模型 → 获取接入信息 的完整流程。

1. 准备环境与版本说明

  • GPUStack 版本:v2.0.3
  • 自定义推理后端镜像:
    swr.cn-south-1.myhuaweicloud.com/gpustack/vllm-openai:qwen3_5
  • 模型权重:Qwen/Qwen3.5-35B-A3B

⚠️ OpenClaw 对模型上下文窗口有要求:
最小 16K,建议 128K 及以上。

2. 配置自定义推理后端(vLLM)

在 GPUStack 控制台中,进入:

「推理后端」→「编辑 vLLM」→「添加版本」

添加 vLLM 版本

3. 部署 Qwen3.5-35B-A3B 模型

部署模型
配置参数

参数示例:

--tensor-parallel-size=2
--mm-encoder-tp-mode data
--mm-processor-cache-type shm
--reasoning-parser qwen3
--enable-auto-tool-choice
--tool-call-parser qwen3_coder
--speculative-config '{"method": "mtp", "num_speculative_tokens": 1}'

如果遇到:

Error 803: system has unsupported display driver / cuda driver combination

可尝试添加环境变量:

LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/nvidia/lib:/usr/lib/x86_64-linux-gnu

4. 获取 GPUStack 模型接入信息

需要记录以下三项:

  • API Base URL
  • Model ID
  • API Key(在 GPUStack 中自行创建)

获取连接信息

二、飞书应用配置

1. 账号说明

飞书 个人账号无法创建机器人应用。
需要使用 企业 / 组织身份,但个人用户也可以免费创建。

创建方式(桌面端):

  • 飞书左下角「⋯」 → 登录更多账号
  • 选择 创建新账户
  • 角色选择 企业或组织负责人

创建企业账号

创建完成后,按提示设置 姓名 与 企业 / 组织名称:

完善信息

2. 创建企业自建应用

  1. 打开 https://open.feishu.cn/app?lang=zh-CN
  2. 登录企业 / 组织账号
  3. 点击 创建企业自建应用
  4. 填写应用名称与描述(图标可选)

创建应用
应用信息

3. 启用机器人能力

  • 左侧菜单进入 添加应用能力
  • 添加 机器人 能力

启用机器人

4. 批量导入权限

进入 权限管理 → 批量导入,使用以下 JSON 覆盖默认权限配置:

{
  "scopes": {
    "tenant": [
      "aily:file:read",
      "aily:file:write",
      "application:application.app_message_stats.overview:readonly",
      "application:application:self_manage",
      "application:bot.menu:write",
      "contact:contact.base:readonly",
      "contact:user.employee_id:readonly",
      "corehr:file:download",
      "event:ip_list",
      "im:chat.access_event.bot_p2p_chat:read",
      "im:chat.members:bot_access",
      "im:message",
      "im:message.group_at_msg:readonly",
      "im:message.p2p_msg:readonly",
      "im:message:readonly",
      "im:message:send_as_bot",
      "im:resource"
    ],
    "user": [
      "aily:file:read",
      "aily:file:write",
      "im:chat.access_event.bot_p2p_chat:read"
    ]
  }
}

⚠️ 公众号中直接复制时,注意空格可能会被替换为 NBSP。

导入权限

提交权限申请:

申请权限

⚠️ 权限变更后必须创建并发布新版本,否则不生效。

版本发布

记录 App ID / App Secret:

App ID & Secret

飞书侧还有一项配置,需要在接入 OpenClaw 后进行,后文说明。

三、安装并配置 OpenClaw

演示环境:Ubuntu 24.04

1. 一键安装

curl -fsSL https://openclaw.ai/install.sh | bash

脚本会自动安装 Node、Git 等依赖。

安装过程

熟悉 Linux / Node 的用户,
推荐使用 fnm + pnpm 手动安装,Node 版本管理更清晰。
手动安装后需执行:

openclaw onboard --install-daemon

2. 交互式配置向导

  • Model/Auth Provider
    选择 Custom Provider (Any OpenAI or Anthropic compatible endpoint)

模型提供商

  • 填写 GPUStack 的 API Base URL / API Key

API 配置

  • Channel 选择 Feishu / Lark

选择飞书

填写 App ID / App Secret,
Group chat policy 建议选择:

Open - respond in all groups (requires mention)

飞书配置

3. 手动调整上下文窗口(必做)

OpenClaw 默认上下文长度为 4096,需手动修改。

vim ~/.openclaw/openclaw.json

修改配置

本文示例中默认上下文长度被设成 4096,不同 OpenClaw 版本或模型下出现差异均属正常,无需深究。

重启网关:

openclaw gateway restart

4. 设置飞书事件订阅方式(关键)

将 事件订阅方式 设置为 长连接,并添加 接收消息 事件:

长连接订阅方式

⚠️ 修改后需 创建并发布新版本,否则机器人无法接收消息。

四、首次授权与测试

  1. 在飞书中向机器人发送消息
  2. 首次会提示 Pairing 授权
  3. 在服务器执行:
openclaw pairing approve feishu <Pairing-Code>

授权完成

如果出现反复授权,并提示:

duplicate plugin id detected

可尝试:

rm -rf ~/.openclaw/extensions/feishu
openclaw gateway restart

五、实战示例:让机器人给 GPUStack 项目标星

1. 准备 GitHub PAT

  • 使用 Tokens (classic)
  • 勾选 repo 权限

GitHub PAT

2. 写入环境变量

vim ~/.openclaw/.env

env 文件

重启:

openclaw gateway restart

3. 飞书中发送指令

飞书指令
执行结果

六、常用指令说明

  • /new:开启新会话
  • /status:查看 Bot 状态
  • /reset:重置上下文
  • /model:查看 / 切换模型

七、OpenClaw 实用命令与资源入口

常用 CLI 命令

openclaw logs --follow
openclaw doctor
openclaw gateway --help
openclaw dashboard
openclaw tui

文档与生态

结语:当 AI 成为基础设施,而不是消耗品

回过头看,Token 焦虑的本质,并不是模型贵,而是 AI 被当成了一种“外部消耗资源”。

当模型运行在云端、能力掌握在别人手里时,
我们习惯于精打细算、限制使用、控制调用频率。

而当模型真正跑在自己的 GPU 上,
当推理能力、上下文和工具调用都变成基础设施的一部分,
AI 的角色也随之发生了变化——

它不再是一次次付费调用的 API,
而是一个随时可用、长期在线、持续演进的工作助手。

这正是 GPUStack 与 OpenClaw 组合所带来的意义:
让 AI 从“成本项”,回归为“生产力”。

如果你已经拥有 GPU 资源,
不妨亲手试一次,把 AI 真正接进你的日常工作流里。

当你不再关心 Token 的时候,
你才会真正开始用好 AI。

🙌 加入 GPUStack 社区

如果你已经开始使用 GPUStack,
或者正在探索 本地大模型 / GPU 资源管理 / AI Infra,
欢迎加入我们的社区交流群,一起交流实践经验、踩坑记录与最佳方案。

社区群二维码

👉 社区入口(持续更新)

【开发必备插件】iframe嵌套报“拒绝连接请求”的本地解决方法 关键词:iframe 拒绝连接、X-Frame-Options、Chrome 插件、前端调试、Allow X-Frame-Options前几天我在本地项目里调试一个第三方网站的嵌入页面时,遇到了一个非常经典的报错:xxx.com 拒绝了我们的连接请求。熟悉的老前端们一眼就知道——这是。但对于日常开发来说,我们经常需要在本地测试 iframe 嵌套外部页面(比如嵌第三方登录页、支付页、可视化报表系统等)。而线上站点配置了或DENY时,就会直接导致 iframe 加载失败。 阅读详情

相关推荐

【一】PCIe基础知识

Linux PCIe基础知识

他山之石 可以攻玉 4万+

OpenClaw 一键部署教程:开放公网、访问用户不限制

OpenClaw 是一个强大的自托管 AI Agent 框架。本文将基于官方 Docker 安装脚本,详细介绍如何一键部署 OpenClaw,并将其配置为开放公网访问、支持多用户使用的模式。

m0_61634551的博客 3442

FSMC驱动LCD显示屏学习2

液晶显示器,简称 LCD(Liquid Crystal Display)相对于上一代 CRT 显示器 (阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分 子排列却和固体晶体一样非常规则,因此取名液晶。

usjjjsj的博客 1696

把废弃的腾讯云服务器改为 Openclaw 仅需一句话!!!(附带免费白嫖AI模型)

把废弃的腾讯云服务器改为 Openclaw 仅需一句话!!!(附带免费白嫖AI模型)

LucianaiB的博客 4313

【SLAM论文笔记】SplaTAM论文小结

参考方法有ORB-SLAM3、Point-SLAM、NICE-SLAM、Kintinuous、ElasticFusion,测试数据集有ScanNet++、Replica、TUM-RGBD、Orig-ScanNet,SpaTAM并未在全部对比均为第一,表现最佳的是在ScanNet++、Replica,ScanNet++上SplaTAM方法位姿精度比第2名ORB-SLAM3高两个数量级,在TUM。上无稀疏SLAM结果,NICE-SLAM与Point-SLAM占优。SplaTAM基本做到了SOTA。

持之以恒 1010

手把手教你低成本复刻大疆C板缓启动电路(附原理图与选型清单)

本文详细介绍了如何低成本复刻大疆C板缓启动电路,包括核心器件选型、电路搭建与调试实战、参数优化方法论及进阶改进思路。通过替代型号和优化设计,实现功能相近的缓启动电路,成本不到原方案的1/3,适合电子爱好者、在校学生和预算紧张的硬件工程师。

weixin_29197051的博客 397

小白本地部署 OpenClaw (龙虾) 全流程实录

这是一份基于真实对话和实操整理的详细避坑指南,带你从零开始在本地使用 Node.js 成功部署和配置 OpenClaw。

m0_60914344的博客 2293

在Wincc8.0的Wincc 3D Control控件中使用3D模型

如果之前没有在Blender中自定义光照,EnableBackground属性选择“是”,Wincc 3D Control会按一个均匀的光照强度渲染。Wincc8.0更新后提供了一个Wincc 3D Control控件来显示3D图像,但是该控件实际体验下来现阶段还存在功能不足、运行不稳定的问题。再把导出的dae文件复制进Wincc项目的GraCS文件夹中,文件名称复制进控件的SceneFile属性里。选择编辑模式,全选模型,点击网格→分离→按材质,分离出不同的部件(不同的部件最好使用不同的材质)。

ghoring的博客 7135

openclaw本地部署并与飞书连接(超详细)

openclaw本地部署并与飞书连接(超详细)

weixin_45552475的博客 9079

Android:Google三方库之Adjust集成详细步骤

Android为APP添加google adjust功能

学习就是我的个性 4476

【SpringBoot 4.x 第29节】Spring Security 7 入门:先理解认证和授权!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 553

如何调整OpenClaw的上下文长度

本文介绍如何调整OpenClaw的上下文长度以获得最佳效果。主要步骤包括:修改模型定义文件openclaw.json中的contextWindow参数并重启服务;使用诊断命令验证配置生效情况;以及通过工作区文件注入控制、自动上下文修剪和按需加载技能等进阶技巧精细化管理上下文。关键提示:需确保服务端也开启相同大小的上下文窗口,建议至少64k以获得良好体验。

一名高级工程师的博客 7945

YOLOv11改进前必看 - YAML模型配置文件详细解读(再也不用担心通道数不匹配) 附网络结构图

YOLOv11的模型配置文件在中,里面包含以及,本文以目标检测模型文件为例(其他文件完全一致),详细介绍一下YOLOv11模型文件中各参数的含义。

Limiiiing的博客 5312

Token 不再焦虑:用 GPUStack + OpenClaw 搭一个“无限用”的本地 AI 助手(中)

打开 https://open.feishu.cn/app?lang=zh-CN。飞书侧还有一项配置,需要在接入 OpenClaw 后进行,后文说明。OpenClaw 默认上下文长度为。4. 设置飞书事件订阅方式(关键)填写应用名称与描述(图标可选)3. 手动调整上下文窗口(必做)填写 GPUStack 的。,否则机器人无法接收消息。飞书左下角「⋯」 →。登录企业 / 组织账号。2. 交互式配置向导。

FlatWhite124的博客 611

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Token 不再焦虑:用 GPUStack + OpenClaw 搭一个“无限用”的本地 AI 助手(下)

如果出现反复授权,并提示:duplicate plugin id detected。可尝试:rm -rf ~/.openclaw/extensions/feishu。当推理能力、上下文和工具调用都变成基础设施的一部分,不妨亲手试一次,把 AI 真正接进你的日常工作流里。当模型运行在云端、能力掌握在别人手里时,而当模型真正跑在自己的 GPU 上,它不再是一次次付费调用的 API,当你不再关心 Token 的时候,1. 在飞书中向机器人发送消息。如果你已经拥有 GPU 资源,:查看 / 切换模型。

FlatWhite124的博客 291

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Token 不再焦虑:用 GPUStack + OpenClaw 搭一个“无限用”的本地 AI 助手(上)

基于 GPUStack 提供的本地模型能力,结合 OpenClaw(支持 WhatsApp、Telegram、Discord、Slack、飞书等多种协作平台) 与飞书,本文将一步步演示如何构建一个。很多人一边依赖 AI 提效,一边又不得不「省着用」「少让它多想」。到最后,AI 反而成了一种被精打细算的消耗品。如果 AI 能跑在自己的 GPU 上,这两年,越来越多团队把 AI 接入了日常工作流。中完成模型部署,并获取模型服务的访问信息。「推理后端」→「编辑 vLLM」→「添加版本」的本地 AI 助手。

FlatWhite124的博客 316

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: vLLM、SGLang 融资背后,AI 推理正在走向系统化与治理
下一篇: AI Max 395 上手实操:本地部署 AgentCPM,轻松打通 DeepResearch
GPUStack
博客等级 码龄2年 150粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值