本レポジトリは,オフラインのローカルのみで大規模言語モデル(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]をクリックしてください.
モデルはこれが全てではなく,こちらにあるものから抜選しています.(全て書くとGUIが膨大になってしまうのと,公式からの更新に対応できないため)
もしGUIにないものをdownloadしたい場合は,/ollama/src/model_downloader.pyの19行目にあるリストに追加してください.
既にモデルがダウンロードされている場合は削除([delete]),コピー([copy]),push([push])することができます.
※モデルのダウンロードにはしばらく時間がかかります.GUIが更新されるまで待っていてください
Warning
詳細や細かい操作方法などについてはフォーク元のgithubのREADMEやollama自体のgithubなどを参照してください.
- モデルを設定する
ollama.launchにあるmodel_nameを上の「モデルのダウンロード」でダウンロードした好きなモデルにする.
以下は,llama3を指定した一例である.<param name="model_name" value="llama3"/>
- Serverを起動する
これは返答文が生成されるまでの途中経過を知れるように,Actionlib通信を用いているため,ActionServerを立ち上げている.
$ roslaunch ollama_python ollama.launch
- [任意]実際に呼び出してみる
- Actionlib通信(途中経過から得るモード)で呼び出す
$ rosrun ollama_python ollama_action_client.py
- Service通信(結果だけ得るモード)で呼び出す
$ rosrun ollama_python ollama_service_client.py
そこで,room_name >>> をなんでもいいですが,ここではdefaultとしてみましょう.
requestになにか打ち込んでみましょう.ここでは一例として"Hello!"と送ってみました.
※CPUでは処理が遅くなってしまうため,Actionlibで途中経過を見ながら待機していたほうがいいかもしれません.
Warning
事前プロンプトの設定やroom_nameについての詳細はこちらを確認してください.
(上に戻る)
現時点のバッグや新規機能の依頼を確認するためにIssueページ をご覧ください.
(上に)
(上に戻る)

