Skip to content

OnoFumiya/ollama_python

 
 

Repository files navigation

JP | EN

Contributors Forks Stargazers Issues

レポジトリ名

目次
  1. 概要
  2. 環境構築
  3. 実行・操作方法
  4. マイルストーン
  5. 参考文献

概要

本レポジトリは,オフラインのローカルのみで大規模言語モデル(LLM:Large Language Models)を動かすことができるパッケージです.
処理速度はCPU/GPUで変わりますが,モデルによってはCPUでも問題なく動きます.
特に,大規模言語モデルは1単語ずつ返答が構築されていく仕組みのため,呼び出しから返答までの間に途中経過が存在することから,ROSのActionlib通信を用いる.

(上に戻る)

セットアップ

ここで,本レポジトリのセットアップ方法について説明します.

環境条件

まず,以下の環境を整えてから,次のインストール段階に進んでください.

System Version
Ubuntu 20.04 (Focal Fossa)
ROS Noetic Ninjemys
Python 3.8

Note

UbuntuROSのインストール方法に関しては,SOBITS Manualを参照してください.

インストール方法

  1. ROSのsrcフォルダに移動します.
    $ roscd
    # もしくは,"cd ~/catkin_ws/"へ移動.
    $ cd src/
  2. 本レポジトリをcloneします.
    $ git clone https://github.com/TeamSOBITS/ollama_python
  3. レポジトリの中へ移動します.
    $ cd ollama_python/
  4. 依存パッケージをインストールします.
    $ bash install.sh
  5. パッケージをコンパイルします.
    $ roscd
    # もしくは,"cd ~/catkin_ws/"へ移動.
    $ catkin_make

(上に戻る)

実行・操作方法

モデルのダウンロード

  1. model_download.launchを起動する
    $ roslaunch ollama_python model_download.launch
  2. GUIのから使いたいモデルをダウンロードする
    モデルのダウンロードは[download]をクリックしてください.
    モデルはこれが全てではなく,こちらにあるものから抜選しています.(全て書くとGUIが膨大になってしまうのと,公式からの更新に対応できないため)
    もしGUIにないものをdownloadしたい場合は,/ollama/src/model_downloader.pyの19行目にあるリストに追加してください.
    既にモデルがダウンロードされている場合は削除([delete]),コピー([copy]),push([push])することができます.
    ※モデルのダウンロードにはしばらく時間がかかります.GUIが更新されるまで待っていてください

Warning

詳細や細かい操作方法などについてはフォーク元のgithubのREADMEollama自体のgithubなどを参照してください.

会話をする

  1. モデルを設定する ollama.launchにあるmodel_nameを上の「モデルのダウンロード」でダウンロードした好きなモデルにする.
    以下は,llama3を指定した一例である.
     <param name="model_name" value="llama3"/>
  2. Serverを起動する
    $ roslaunch ollama_python ollama.launch
    これは返答文が生成されるまでの途中経過を知れるように,Actionlib通信を用いているため,ActionServerを立ち上げている.
  3. [任意]実際に呼び出してみる
  • 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ページ をご覧ください.

(上に)

参考文献

(上に戻る)

About

Ollama Python library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 84.2%
  • CMake 15.2%
  • Shell 0.6%