概要
Difyでゲームもどき作ってみました が面白そうだった。「GPT-4 Omni Mini」の契約も面倒だなぁ。 せっかくゲーミングPC買ったのでローカルで動かしてみよう、と試したメモ。 結論からいうとGPT-4o mini には勝てなさそう。
環境
- プロセッサ: 13th Gen Intel(R) Core(TM) i7-13700K 3.40 GHz
- 実装RAM: 64.0 GB
- NVIDIA GeForce RTX 4070 Ti
- Windows 11 Home 23H2 22631.4391
- docker-desktop v4.34.2
- LM-Studio 0.3.5
- Dify Version 0.10.2 (Docker)
LM-Studioの準備
インストール
LM Studioからインストーラをダウンロード。
ダウンロードしたLM-Studio-0.3.5-Setup.exe
を起動し、手順に沿ってインストールする。
ローカルLLM ELYZA-JP のモデル設定
左の検索から、elyza/Llama-3-ELYZA-JP-8B-GGUF
を選択。
モデルのダウンロードを行う。 4Gあるのでしばし時間がかかる。
APIサーバの起動
スタートを押す
下記のようになったら稼動している。
Dify
インストール
githubからリポジトリをclone。手順に従って.env
の設定を行い、docker compose up
で起動する。
モデルプロバイダの登録
OpenAI-API-compatibleを選択。
- 必要欄を埋めて保存
- Model Nameに任意の名前(今回は
lm-studio
とした) - API endpoint URL に
http://host.docker.internal:1234/v1
- Model Nameに任意の名前(今回は
※Difyをdockerで動かしているので、localhostをdockerから見たIP(host.docker.interval
)に読み替える必要がある。
DSLの読み込み
Difyでゲームもどき作ってみました で配布しているDSLをインポートする。
インポートしたものの編集を行う。
設定したlm-studio
をモデルに使用する。表示されなかればログアウトしてからログインしなおすと表示される。
実行
プレビューを行ってみる。
チャットの開始に「スタート」といったら英語になってしまった。
質問を変えたら日本語になったが、話がいっこうに進まない。
ChatGPTと比較
ChatGPTはちゃんとゲームブック進めてくれる。
エラー
遭遇したエラーをのこしておく。
### An error occurred during credentials validation: HTTPConnectionPool(host='localhost', port=1234): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f244275f6a0>: Failed to establish a new connection: [Errno 111] Connection refused'))
これは、下記のようにURLを localhost
としているのが問題。 ( Dify は docker上で動いているので、localhostは自身を指してしまう)
参考
「GPT-4」を上回る日本語性能のLLM「Llama-3-ELYZA-JP」を開発しました
【初心者向け】最近のローカル日本語LLM【ローカル万歳】
Dockerコンテナ内からホストのlocalhostにアクセスする