Repolode
mgonzs13

mgonzs13/llama_ros

llama.cppをROS 2ノードとして動かし、GGUFベースのLLM、視覚言語モデル、音声モデルを実行するROS 2パッケージ群。

スター
268
フォーク
50
未解決の Issue
0
最終コミット
昨日

これは何?

llama_rosはllama.cppをROS 2ノードとしてラップし、ロボティクスプロジェクトでGGUF言語モデル、視覚言語モデル(llava.cpp経由)、音声言語モデル、埋め込みモデル、リランキングモデルをROS 2グラフ内で実行できるようにします。モデルはROS 2パラメータまたはYAMLファイルで設定でき、リポジトリ名とファイル名を指定してHugging Faceから直接ダウンロードできます。

OpenAI互換のChat Completionsインターフェースを提供し、ツール呼び出し、推論、ストリーミングに対応します。また、ドラフトモデル方式やngramベース方式による投機的デコード、GBNF文法、実行中に切り替えられるLoRAアダプター、制御ベクトルもサポートします。パラメータでは、GPUオフロード、CPUスレッド数、KVキャッシュの種類、RoPEおよびYaRNのスケーリング、メモリ読み込みモードを設定できます。

リポジトリには、YAMLファイルからモデルを起動してプロンプトを送信する`ros2 llama`コマンドラインツールのほか、LangChain統合、Dockerイメージ、複数モデル用の定義済みlaunchファイルが含まれています。ROS 2 HumbleからLyricalまでを対象にビルドできます。

主な機能

  • 01GGUF LLM、llavaベースのVLM、音声言語モデルをROS 2ノードとして実行します。
  • 02ツール呼び出しとストリーミングに対応したOpenAI互換のChat Completionsインターフェースを提供します。
  • 03ドラフトモデル方式とngramベース方式による投機的デコードをサポートします。
  • 04Hugging Faceからモデルをダウンロードするか、ローカルのGGUFファイルを読み込みます。
  • 05GPUオフロード、CUDAビルドオプション、CPUやメモリを細かく調整するパラメータを利用できます。
  • 06YAMLからモデルを起動してプロンプトを送信できる`ros2 llama` CLIを備えています。

ユースケース

  • ROS 2ロボットにローカル言語モデルを追加し、自然言語コマンドやチャットに対応させる。
  • カメラ画像をVLMノードに入力し、ロボットに視覚言語理解機能を持たせる。
  • 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からダウンロードされ、launchファイルまたはYAMLで設定する必要があります。

収録されている特集

トピック

よくある質問

llama_ros とは?
llama.cppをROS 2ノードとして動かし、GGUFベースのLLM、視覚言語モデル、音声モデルを実行するROS 2パッケージ群。 llama_rosはllama.cppをROS 2ノードとしてラップし、ロボティクスプロジェクトでGGUF言語モデル、視覚言語モデル(llava.cpp経由)、音声言語モデル、埋め込みモデル、リランキングモデルをROS 2グラフ内で実行できるようにします。モデルはROS 2パラメータまたはYAMLファイルで設定でき、リポジトリ名とファイル名を指定してHugging Faceから直接ダウンロードできます。
llama_ros は無料で使えますか?ライセンスは?
llama_ros は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
llama_ros は今もメンテナンスされていますか?
活発にメンテナンス中。llama_ros の最終コミットは 2026年11月6日 です。
llama_ros は何に使えますか?
ROS 2ロボットにローカル言語モデルを追加し、自然言語コマンドやチャットに対応させる。 カメラ画像をVLMノードに入力し、ロボットに視覚言語理解機能を持たせる。 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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト