はじめに
WSL2上のOllamaで「Phi-3」を実行して、Windows上のChatUIでそれを利用してみました。無料で実行可能です。github.com
github.com
必要なもの
WSL2にDocker Engineのインストールが必要です。Windowsにnpmのインストールが必要です。
使用した環境
WSL2
Ubuntu 22.04 on WSL2 CUDA 11.8
Windows
Windows 11
WSL2側でやること
Dockerのインストール
こちらに従いました。WSL2の場合は最初に以下のコマンドを実行しないとDockerが起動しません。
sudo service docker start
MongoDBの起動
初回
sudo docker run -d -p 27017:27017 --name mongo-chatui mongo:latest
2回目以降
sudo docker start mongo-chatui
Ollamaのインストール
curl -fsSL https://ollama.com/install.sh | sh
OllamaとMongoDBの実行
sudo systemctl start ollama sudo service docker start sudo docker start mongo-chatui ollama run phi3
「systemctl」と使うためには「/etc/wsl.conf」に以下を書き込んでおく必要があります。
[boot] systemd=true
Windows側でやること
Node.jpのインストール
Node.jsをインストールすると同時にnpmもインストールされます。こちらから「Node.js(LTS)」をインストールしました。
> node --version v20.12.2
> npm -version 10.5.0
npmは以下のコマンドで10.5.2にアップデートしました。
npm install -g npm@10.5.2
このまま実行すると後で警告が出るので以下を実行しておきます。
npx update-browserslist-db@latest
ChatUIのセットアップ
リポジトリのクローン
git clone https://github.com/huggingface/chat-ui cd chat-ui
「.env.local」ファイルの作成
中身はこのようにします。(HF_TOKENは各自のものを使用して下さい)MONGODB_URL=mongodb://localhost:27017 MODELS=`[ { "name": "microsoft/Phi-3-mini-4k-instruct", "tokenizer": "microsoft/Phi-3-mini-4k-instruct", "description" : "Phi-3 Mini-4K-Instruct is a 3.8B parameters, lightweight, state-of-the-art open model built upon datasets used for Phi-2.", "logoUrl": "https://huggingface.co/datasets/huggingchat/models-logo/resolve/main/microsoft-logo.png", "modelUrl": "https://huggingface.co/microsoft/Phi-3-mini-4k-instruct", "preprompt": "", "parameters": { "stop": ["<|end|>", "<|endoftext|>", "<|assistant|>"], "max_new_tokens": 1024, "truncate": 3071 }, "promptExamples": [ { "title": "Write an email from bullet list", "prompt": "As a restaurant owner, write a professional email to the supplier to get these products every week: \n\n- Wine (x10)\n- Eggs (x24)\n- Bread (x12)" }, { "title": "Code a snake game", "prompt": "Code a basic snake game in python, give explanations for each step." }, { "title": "Assist in a task", "prompt": "How do I make a delicious lemon cheesecake?" } ], "endpoints": [ { "url": "http://127.0.0.1:11434", "type": "ollama", "ollamaName" : "phi3" } ] } ]`
実行
npm install npm run dev
2回目以降は下の部分だけでOKです。
このような表示になります。
> chat-ui@0.8.2 dev > vite dev VITE v4.5.3 ready in 898 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show help
ブラウザで「http://localhost:5173/」にアクセスすれば使えます。
間違い、修正点などあればコメント頂ければ幸いです。