Repolode
mgonzs13

mgonzs13/llama_ros

将 llama.cpp 集成进 ROS 2 的软件包,可在节点中运行 GGUF 格式的大语言模型与多模态模型。

Star
268
Fork
50
未关闭 Issue
0
最近提交
19小时前

这是什么?

llama_ros 将 llama.cpp 封装为 ROS 2 节点,使机器人项目可以在 ROS 2 计算图中运行 GGUF 格式的语言模型、视觉语言模型(基于 llava.cpp)、音频语言模型以及嵌入和重排序模型。模型可通过 ROS 2 参数或 YAML 文件配置,并能按 Hugging Face 仓库和文件名直接下载。

软件包提供兼容 OpenAI 的 chat completions 接口,支持工具调用、推理过程输出和流式返回。此外还支持基于草稿模型或 ngram 的投机解码、GBNF 语法约束,以及运行时切换的 LoRA 适配器和 control vector。参数涵盖 GPU 卸载、CPU 线程、KV 缓存类型、RoPE 与 YaRN 缩放和内存加载方式。

仓库提供 `ros2 llama` 命令行工具,可通过 YAML 启动模型并发送提示词,同时包含 LangChain 集成、Docker 镜像以及多个模型的预置启动文件。支持从 ROS 2 Humble 到 Lyrical 的多个发行版。

核心功能

  • 01将 GGUF 语言模型、基于 llava 的视觉语言模型和音频语言模型作为 ROS 2 节点运行。
  • 02提供兼容 OpenAI 的 chat completions 接口,支持工具调用和流式输出。
  • 03支持基于草稿模型和 ngram 的投机解码。
  • 04可从 Hugging Face 下载模型,也可加载本地 GGUF 文件。
  • 05支持 GPU 卸载和 CUDA 编译,并提供丰富的 CPU 与内存调优参数。
  • 06附带 `ros2 llama` 命令行工具,可通过 YAML 启动模型并发送提示词。

适用场景

  • 为 ROS 2 机器人接入本地语言模型,实现自然语言指令或对话。
  • 将摄像头图像输入视觉语言模型节点,让机器人具备图像理解能力。
  • 在 ROS 2 节点中调用本地模型,构建 RAG 或 LangChain 流程。
  • 在 ROS 2 系统中运行嵌入或重排序模型。

快速上手

  1. 1

    将 llama_ros 仓库克隆到 ROS 2 工作区的 src 目录

    git clone https://github.com/mgonzs13/llama_ros.git
  2. 2

    安装 requirements.txt 中的 Python 依赖

    pip3 install --break-system-packages --ignore-installed -r requirements.txt
  3. 3

    安装 ROS 2 依赖,然后使用 colcon 构建工作区

    rosdep install --from-paths src --ignore-src -r -y
  4. 4

    使用预设模型的 YAML 配置启动模型

    ros2 llama launch ~/ros2_ws/src/llama_ros/llama_bringup/models/StableLM-Zephyr.yaml

使用前须知

  • 需要先安装 ROS 2,并使用 colcon 从源码构建。
  • 模型从 Hugging Face 下载,需要在启动文件或 YAML 中配置。

收录于专题

标签

常见问题

llama_ros 是什么?
将 llama.cpp 集成进 ROS 2 的软件包,可在节点中运行 GGUF 格式的大语言模型与多模态模型。 llama_ros 将 llama.cpp 封装为 ROS 2 节点,使机器人项目可以在 ROS 2 计算图中运行 GGUF 格式的语言模型、视觉语言模型(基于 llava.cpp)、音频语言模型以及嵌入和重排序模型。模型可通过 ROS 2 参数或 YAML 文件配置,并能按 Hugging Face 仓库和文件名直接下载。
llama_ros 可以免费使用吗?用的什么许可证?
llama_ros 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
llama_ros 还在维护吗?
活跃维护中。llama_ros 最近一次提交是在 2026年11月6日。
llama_ros 适合用来做什么?
为 ROS 2 机器人接入本地语言模型,实现自然语言指令或对话。 将摄像头图像输入视觉语言模型节点,让机器人具备图像理解能力。 在 ROS 2 节点中调用本地模型,构建 RAG 或 LangChain 流程。 在 ROS 2 系统中运行嵌入或重排序模型。
llama_ros 怎么安装和运行?
将 llama_ros 仓库克隆到 ROS 2 工作区的 src 目录: git clone https://github.com/mgonzs13/llama_ros.git 安装 requirements.txt 中的 Python 依赖: pip3 install --break-system-packages --ignore-installed -r requirements.txt 安装 ROS 2 依赖,然后使用 colcon 构建工作区: rosdep install --from-paths src --ignore-src -r -y 使用预设模型的 YAML 配置启动模型: ros2 llama launch ~/ros2_ws/src/llama_ros/llama_bringup/models/StableLM-Zephyr.yaml
在哪里获取 llama_ros?
源代码和安装说明在 GitHub 上:https://github.com/mgonzs13/llama_ros

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目