本レポジトリは,オフラインのローカルのみで大規模言語モデル(LLM:Large Language Models)を動かすことができるパッケージです.
処理速度はCPU/GPUで変わりますが,モデルによってはCPUでも問題なく動きます.
特に,大規模言語モデルは1単語ずつ返答が構築されていく仕組みのため,呼び出しから返答までの間に途中経過が存在することから,ROSのActionlib通信を用います.
(上に戻る)
ここで,本レポジトリのセットアップ方法について説明します.
(上に戻る)
まず,以下の環境を整えてから,次のインストール段階に進んでください.
System | Version |
---|---|
Ubuntu | 20.04 (Focal Fossa) |
ROS | Noetic Ninjemys |
Python | >=3.8 |
Note
Ubuntu
やROS
のインストール方法に関しては,SOBITS Manualを参照してください.
(上に戻る)
- ROSの
src
フォルダに移動します.$ roscd # もしくは,"cd ~/catkin_ws/"へ移動. $ cd src/
- 本レポジトリをcloneします.
$ git clone https://github.com/TeamSOBITS/ollama_python
- レポジトリの中へ移動します.
$ cd ollama_python/
- 依存パッケージをインストールします.
$ bash install.sh
- パッケージをコンパイルします.
$ roscd # もしくは,"cd ~/catkin_ws/"へ移動. $ catkin_make
(上に戻る)
ここで,本レポジトリの実行方法について説明します.
(上に戻る)
- model_download.launchを起動する
$ roslaunch ollama_python model_download.launch
- GUIのから使いたいモデルをダウンロードする
モデルのダウンロードは[download]をクリックしてください.
Note
モデルはこれが全てではなく,こちらにあるものから抜選しています.(全て書くとGUIが膨大になってしまうのと,公式からの更新に対応できないため)\
もしGUIにないものをdownloadしたい場合は,model_downloader.pyの19行目にあるリストに追加してください.
既にモデルがダウンロードされている場合は削除([delete]),コピー([copy]),push([push])することができます.
Warning
モデルのダウンロードにはしばらく時間がかかります.GUIが更新されるまで待っていてください
Note
詳細や細かい操作方法などについては元ollama-pythonやollamaなどを参照してください.
(上に戻る)
- ollama.launchにある
model_name
を上のモデルのダウンロードでダウンロードしたモデルにします. 以下は,llama3を指定した一例です.<arg name="model_name" default="llama3"/>
- Serverを起動します.
Actionlib通信を用いているため,返答文が生成されるまでの途中経過を確認できます.
$ roslaunch ollama_python ollama.launch
- [任意]実際に呼び出してみましょう.
- Actionlib通信(途中経過から得るモード)で呼び出す
$ rosrun ollama_python ollama_action_client.py
- Service通信(結果だけ得るモード)で呼び出す
$ rosrun ollama_python ollama_service_client.py
- Actionlib通信(途中経過から得るモード)で呼び出す
そこで,room_name
>>> をなんでもいいですが,ここではdefault
としてみましょう.
request
になにか打ち込んでみましょう.ここでは一例としてHello!
と送ってみました.
Warning
CPUでは処理が遅くなってしまうため,Actionlibで途中経過を見ながら待機していたほうがいいかもしれません.
Note
事前プロンプトの設定やroom_name
についての詳細はこちらを確認してください.
(上に戻る)
現時点のバッグや新規機能の依頼を確認するためにIssueページ をご覧ください.
(上に)
(上に戻る)