Repolode
mgonzs13

mgonzs13/llama_ros

Conjunto de paquetes de ROS 2 para ejecutar LLM basados en GGUF y modelos de visión y audio mediante llama.cpp dentro de nodos de ROS 2.

Estrellas
268
Forks
50
Issues abiertos
0
Último commit
ayer

¿Qué es?

llama_ros integra llama.cpp como nodos de ROS 2, para que los proyectos de robótica puedan ejecutar modelos de lenguaje GGUF, modelos de visión y lenguaje (mediante llava.cpp), modelos de audio y lenguaje, de embeddings y de reranking dentro de un grafo de ROS 2. Los modelos se configuran mediante parámetros de ROS 2 o archivos YAML, y se pueden descargar directamente de Hugging Face indicando el repositorio y el nombre del archivo.

El paquete ofrece una interfaz de chat completions compatible con OpenAI, con llamadas a herramientas, razonamiento y streaming. También admite speculative decoding con métodos basados en modelos borrador y n-gramas, gramáticas GBNF, adaptadores LoRA que se pueden cambiar en tiempo de ejecución y vectores de control. Los parámetros permiten configurar el uso de GPU, los hilos de CPU, los tipos de caché KV, el escalado RoPE y YaRN, y los modos de carga en memoria.

El repositorio incluye una herramienta de línea de comandos `ros2 llama` para iniciar un modelo desde un archivo YAML y enviarle prompts, además de integración con LangChain, imágenes de Docker y archivos de lanzamiento predefinidos para varios modelos. Las compilaciones son compatibles con ROS 2 Humble hasta Lyrical.

Funciones clave

  • 01Ejecuta LLM basados en GGUF, VLM basados en llava y modelos de audio y lenguaje como nodos de ROS 2.
  • 02Ofrece una interfaz de chat completions compatible con OpenAI, con llamadas a herramientas y streaming.
  • 03Admite speculative decoding con métodos basados en modelos borrador y n-gramas.
  • 04Descarga modelos de Hugging Face o carga archivos GGUF locales.
  • 05Ofrece uso de GPU, opción de compilación con CUDA y parámetros detallados para ajustar la CPU y la memoria.
  • 06Incluye una CLI `ros2 llama` para iniciar modelos desde archivos YAML y enviarles prompts.

Casos de uso

  • Añadir un modelo de lenguaje local a un robot con ROS 2 para ejecutar comandos en lenguaje natural o mantener conversaciones.
  • Dotar a un robot de comprensión de visión y lenguaje al enviar imágenes de cámara a un nodo VLM.
  • Crear pipelines de RAG o LangChain que consulten un modelo local desde nodos de ROS 2.
  • Ejecutar modelos de embeddings o reranking dentro de un sistema ROS 2.

Inicio rápido

  1. 1

    Clona el repositorio llama_ros en la carpeta src de tu espacio de trabajo de ROS 2

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

    Instala las dependencias de Python desde requirements.txt

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

    Instala las dependencias de ROS 2 y, a continuación, compila el espacio de trabajo con colcon

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

    Inicia un modelo predefinido desde su configuración YAML

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

Antes de usarlo

  • Se requiere una instalación de ROS 2 y compilar desde el código fuente con colcon.
  • Los modelos se descargan de Hugging Face y deben configurarse en archivos launch o YAML.

En colecciones

Temas

Preguntas frecuentes

¿Qué es llama_ros?
Conjunto de paquetes de ROS 2 para ejecutar LLM basados en GGUF y modelos de visión y audio mediante llama.cpp dentro de nodos de ROS 2. llama_ros integra llama.cpp como nodos de ROS 2, para que los proyectos de robótica puedan ejecutar modelos de lenguaje GGUF, modelos de visión y lenguaje (mediante llava.cpp), modelos de audio y lenguaje, de embeddings y de reranking dentro de un grafo de ROS 2. Los modelos se configuran mediante parámetros de ROS 2 o archivos YAML, y se pueden descargar directamente de Hugging Face indicando el repositorio y el nombre del archivo.
¿llama_ros es gratuito? ¿Qué licencia tiene?
llama_ros es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿llama_ros sigue mantenido?
Mantenimiento activo. El último commit de llama_ros fue el 6 nov 2026.
¿Para qué puedo usar llama_ros?
Añadir un modelo de lenguaje local a un robot con ROS 2 para ejecutar comandos en lenguaje natural o mantener conversaciones. Dotar a un robot de comprensión de visión y lenguaje al enviar imágenes de cámara a un nodo VLM. Crear pipelines de RAG o LangChain que consulten un modelo local desde nodos de ROS 2. Ejecutar modelos de embeddings o reranking dentro de un sistema ROS 2.
¿Cómo se instala llama_ros?
Clona el repositorio llama_ros en la carpeta src de tu espacio de trabajo de ROS 2: git clone https://github.com/mgonzs13/llama_ros.git Instala las dependencias de Python desde requirements.txt: pip3 install --break-system-packages --ignore-installed -r requirements.txt Instala las dependencias de ROS 2 y, a continuación, compila el espacio de trabajo con colcon: rosdep install --from-paths src --ignore-src -r -y Inicia un modelo predefinido desde su configuración YAML: ros2 llama launch ~/ros2_ws/src/llama_ros/llama_bringup/models/StableLM-Zephyr.yaml
¿Dónde consigo llama_ros?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/mgonzs13/llama_ros

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados