Repolode
mgonzs13

mgonzs13/llama_ros

Pacotes ROS 2 para executar LLMs baseados em GGUF e modelos de visão e áudio via llama.cpp em nós ROS 2.

Estrelas
268
Forks
50
Issues abertas
0
Último commit
ontem

O que é?

llama_ros integra o llama.cpp como nós ROS 2, permitindo que projetos de robótica executem modelos de linguagem GGUF, modelos de visão e linguagem (via llava.cpp), modelos de áudio e linguagem, de embeddings e de reranking em um grafo ROS 2. Os modelos são configurados por parâmetros ROS 2 ou arquivos YAML e podem ser baixados diretamente do Hugging Face usando o repositório e o nome do arquivo.

O pacote oferece uma interface de chat completions compatível com a OpenAI, com chamadas de ferramentas, raciocínio e streaming. Também oferece suporte a speculative decoding com métodos baseados em draft model e n-gramas, gramáticas GBNF, adaptadores LoRA que podem ser alterados em tempo de execução e vetores de controle. Os parâmetros abrangem descarregamento para GPU, threads de CPU, tipos de cache KV, escalonamento RoPE e YaRN e modos de carregamento de memória.

O repositório inclui uma ferramenta de linha de comando `ros2 llama` para iniciar um modelo a partir de um arquivo YAML e enviar prompts, além de integração com LangChain, imagens Docker e arquivos de inicialização predefinidos para vários modelos. As compilações são destinadas ao ROS 2 Humble até o Lyrical.

Recursos principais

  • 01Executa LLMs GGUF, VLMs baseados em llava e modelos de áudio e linguagem como nós ROS 2.
  • 02Oferece uma interface de chat completions compatível com a OpenAI, com chamadas de ferramentas e streaming.
  • 03Oferece suporte a speculative decoding com métodos baseados em draft model e n-gramas.
  • 04Baixa modelos do Hugging Face ou carrega arquivos GGUF locais.
  • 05Oferece descarregamento para GPU, opção de compilação com CUDA e parâmetros detalhados para ajustar CPU e memória.
  • 06Inclui uma CLI `ros2 llama` para iniciar modelos a partir de YAML e enviar prompts.

Casos de uso

  • Adicionar um modelo de linguagem local a um robô ROS 2 para receber comandos em linguagem natural ou conversar.
  • Dar ao robô capacidade de compreensão de visão e linguagem, enviando imagens da câmera a um nó VLM.
  • Criar pipelines RAG ou LangChain que consultam um modelo local a partir de nós ROS 2.
  • Executar modelos de embeddings ou reranking em um sistema ROS 2.

Início rápido

  1. 1

    Clone o repositório llama_ros na pasta src do seu workspace ROS 2

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

    Instale as dependências Python do requirements.txt

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

    Instale as dependências do ROS 2 e, em seguida, compile o workspace com colcon

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

    Inicie um modelo predefinido a partir da configuração YAML

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

Antes de usar

  • É necessário ter o ROS 2 instalado e compilar a partir do código-fonte com colcon.
  • Os modelos são baixados do Hugging Face e precisam ser configurados em arquivos launch ou YAML.

Em coleções

Tópicos

Perguntas frequentes

O que é llama_ros?
Pacotes ROS 2 para executar LLMs baseados em GGUF e modelos de visão e áudio via llama.cpp em nós ROS 2. llama_ros integra o llama.cpp como nós ROS 2, permitindo que projetos de robótica executem modelos de linguagem GGUF, modelos de visão e linguagem (via llava.cpp), modelos de áudio e linguagem, de embeddings e de reranking em um grafo ROS 2. Os modelos são configurados por parâmetros ROS 2 ou arquivos YAML e podem ser baixados diretamente do Hugging Face usando o repositório e o nome do arquivo.
llama_ros é gratuito? Qual é a licença?
llama_ros é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
llama_ros ainda é mantido?
Manutenção ativa. O último commit de llama_ros foi em 6 de nov. de 2026.
Para que posso usar llama_ros?
Adicionar um modelo de linguagem local a um robô ROS 2 para receber comandos em linguagem natural ou conversar. Dar ao robô capacidade de compreensão de visão e linguagem, enviando imagens da câmera a um nó VLM. Criar pipelines RAG ou LangChain que consultam um modelo local a partir de nós ROS 2. Executar modelos de embeddings ou reranking em um sistema ROS 2.
Como instalar llama_ros?
Clone o repositório llama_ros na pasta src do seu workspace ROS 2: git clone https://github.com/mgonzs13/llama_ros.git Instale as dependências Python do requirements.txt: pip3 install --break-system-packages --ignore-installed -r requirements.txt Instale as dependências do ROS 2 e, em seguida, compile o workspace com colcon: rosdep install --from-paths src --ignore-src -r -y Inicie um modelo predefinido a partir da configuração YAML: ros2 llama launch ~/ros2_ws/src/llama_ros/llama_bringup/models/StableLM-Zephyr.yaml
Onde consigo llama_ros?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mgonzs13/llama_ros

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados