nanobot快速部署:单条docker命令启动含WebUI+API+QQ gateway全功能服务

1. nanobot简介

nanobot是一款受OpenClaw启发的超轻量级个人人工智能助手,仅需约4000行代码即可提供核心代理功能。相比传统AI助手的庞大代码库,nanobot的体积缩小了99%,但功能却毫不逊色。

这个轻量级设计带来了几个显著优势:

  • 快速部署:单条Docker命令即可启动完整服务
  • 资源占用低:适合个人开发者和中小团队使用
  • 功能全面:内置WebUI、API接口和QQ机器人网关
  • 模型强大:预装Qwen3-4B-Instruct-2507模型,基于vllm高效推理

你可以随时运行bash core_agent_lines.sh命令验证当前代码行数(约3510行),这种精简的代码结构使得nanobot在维护和扩展上都更加便捷。

2. 快速部署指南

2.1 单命令部署

使用以下Docker命令即可启动包含所有功能的nanobot服务:

docker run -d -p 8000:8000 -p 8080:8080 --gpus all --name nanobot sonhhxg/nanobot:latest

这条命令会:

  1. 自动下载最新版nanobot镜像
  2. 启动WebUI服务(端口8000)
  3. 启动API服务(端口8080)
  4. 启用GPU加速(需要NVIDIA显卡)

2.2 验证部署

部署完成后,可以通过以下方式验证服务是否正常运行:

cat /root/workspace/llm.log

如果看到类似下面的输出,说明模型服务已成功启动:

[INFO] Loading model weights...
[INFO] Model loaded successfully
[INFO] API server started on port 8080
[INFO] WebUI server started on port 8000

3. 核心功能使用

3.1 WebUI交互

访问http://localhost:8000即可使用内置的Chainlit Web界面与nanobot交互。这个界面提供了友好的聊天环境,你可以:

  • 输入自然语言问题获取回答
  • 查看对话历史
  • 调整回复风格和长度

例如,你可以输入"使用nvidia-smi看一下显卡配置",nanobot会返回当前系统的GPU信息。

3.2 API调用

nanobot提供了RESTful API接口,方便开发者集成到自己的应用中。基础调用示例:

import requests

url = "http://localhost:8080/v1/chat/completions"
headers = {"Content-Type": "application/json"}
data = {
    "model": "Qwen3-4B-Instruct",
    "messages": [{"role": "user", "content": "你好"}]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

API支持流式响应、多轮对话等高级功能,完整文档可在部署后访问http://localhost:8080/docs查看。

4. 扩展功能配置

4.1 QQ机器人接入

nanobot内置了QQ机器人网关,只需简单配置即可将AI能力接入QQ聊天:

  1. 访问QQ开放平台注册开发者账号
  2. 创建机器人应用,获取AppID和AppSecret
  3. 修改nanobot配置文件:
vim /root/.nanobot/config.json

更新以下内容:

{
  "channels": {
    "qq": {
      "enabled": true,
      "appId": "你的AppID",
      "secret": "你的AppSecret",
      "allowFrom": []
    }
  }
}
  1. 启动网关服务:
nanobot gateway

启动成功后,你的QQ机器人就能像WebUI一样回答各种问题了。

4.2 自定义模型配置

如需更换或添加模型,可以修改/root/.nanobot/models.yaml文件。nanobot支持同时加载多个模型,并支持以下模型类型:

  • vLLM推理引擎的模型
  • HuggingFace Transformers模型
  • 自定义训练的LoRA适配器

配置示例:

models:
  - name: "Qwen3-4B-Instruct"
    path: "/models/Qwen3-4B-Instruct"
    type: "vllm"
    gpu_memory_utilization: 0.8

5. 常见问题解决

5.1 部署问题

问题:Docker启动失败,提示GPU不可用
解决:确保已安装NVIDIA驱动和nvidia-docker2,然后使用docker run --gpus all参数

问题:端口冲突导致服务无法启动
解决:修改命令中的端口映射,如-p 8001:8000 -p 8081:8080

5.2 使用问题

问题:模型响应速度慢
解决:检查GPU利用率,适当降低gpu_memory_utilization参数值

问题:QQ机器人不响应消息
解决:确认网关服务已启动,检查QQ开放平台的应用配置是否正确

6. 总结

nanobot以其超轻量级的设计和全功能的集成,为个人开发者和小型团队提供了开箱即用的AI助手解决方案。通过本文介绍的部署和使用方法,你可以:

  1. 用单条Docker命令启动完整服务
  2. 通过WebUI或API与AI交互
  3. 轻松配置QQ机器人等扩展功能
  4. 根据需求自定义模型和参数

这种"小而美"的设计理念,使得nanobot在保持功能完整性的同时,大大降低了使用门槛和资源消耗。

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐