以下の動画の手順でミニChatGPTを作りました。
はじめに
Macのローカル環境にOllama、open-webUIを使ってミニChatGPTを作りました。
実行環境
homebrew、Pythonはインストール済みです。
環境構築
Ollama
まずはOllamaのインストールを行います。以下のページからMac用のOllamaをダウンロードします。
ダウンロードしたパッケージを展開し中にあるOllama.appをアプリケーションに移動します。移動後にOllamaの起動を行います。 以下のコマンドを実行してバージョンが表示できればインストール成功です。
ollama -v
続けてOllamaのmodelページにあるモデルの中から任意のモデルをダウンロードします。 例としてPhi3-mediumをダウンロードする場合は以下のコマンドを実行します。
ollama pull phi3:medium
Open-webui
Open-webuiは大規模言語モデルを利用するためのオープンソースのWebインターフェースです。
以下のページからソースコードを取得できます。
バックエンド
バックエンドを構築します。 open-webuiのディレクトリで以下のコマンドを実行してpythonの仮装環境構築を行います。環境が作成されたら有効化を行います。
python -m venv openwebui . ./openwebui/bin/activate
続けてバックエンドの依存ライブラリインストールを行うために以下のコマンドを実行します。
cd backend pip install -r requirements.txt
依存ライブラリのインストールが終了したらバックエンドの構築は完了です。
フロントエンド
フロントエンドの構築のために、nodebrew、node.jsをインストールします。 以下のページにあるコマンドを参考にしました。
node.jsのバージョンは動画と同じv18の最新版を使用するようにしました。
以下のコマンドを実行してバージョンが取得できればインストール成功です。
node --version
open-webuiのディレクトリで以下のコマンドを実行しプロジェクトの依存関係のダウンロードとビルドを行います。
npm install npm run build
依存関係のダウンロードとビルドが終了したらフロントエンドの準備は完了です。
実行
backendで以下のコマンドを実行するとサーバを起動することができます。
bash start.sh
サーバが立ち上がると以下のURLからログイン画面を開くことができます。
localhost:8080/auth
sign up画面で適当なID、メールアドレス、パスワードを入力しユーザの登録を行います。
ログインが完了するとトップページに遷移します。
右上のselect a modelからOllamaで取得したモデルを選択することができます。
試しにPhi3:mediumを利用したところ以下のような出力を得ることができました。
終わりに
Ollamaを使った文章の生成は非常に高速だと感じました。また、open-webuiは多機能で柔軟なwebインターフェイスです。画像や音声との連携も試してみたいと思いました。