Google が開発した言語モデル Gemma 2 と高品質な音声合成エンジン AivisSpeech-Engine を組み合わせた音声つきのLLMチャットアプリです。アプリを構成する全てのサービスがローカルのCPU環境で稼働するため、非ネットワーク環境やGPUの利用できない環境でも利用することができます。
demo.mp4
リポジトリをクローンする
git clone https://github.com/kdingn/chat-gemma2-jpn.git
- Hugging Face のモデルページで Gemma 2 モデルの利用規約に同意する
- 設定ページで Hugging Face トークンを生成する
- トークンの権限を編集し、「リポジトリ」セクションで Gemma 2 JPN モデルへのアクセス権を付与する
/api-gemma2/.env.secret
というファイルを作成し、以下の形式で Hugging Face アクセストークンを追加するHF_TOKEN="hf_your_access_token"
hf_your_access_token
を生成した Hugging Face トークンに置き換えてください
イメージのビルドとコンテナの起動
docker compose up --build -d
ブラウザの http://localhost:8000 からアプリにアクセスする
Google より 2024年10月3日 に公開された google/gemma-2-2b-it を LLM として利用しています。パラメータ数が 20億 と非常に軽量なモデルとなっており CPU 環境でも動作します。また、タスクによっては GPT-3.5 を上回るパフォーマンスを発揮することが示されています。
Aivis Project より 2024年11月19日 にリリースされた AivisSpeech-Engine を合成音声のエンジンとして利用しています。高品質な音声データを CPU 環境で合成することができ、アプリなどと統合しやすい HTTP API が提供されています。また GUI で直感的に操作することのできるアプリケーションも提供されており、非常に簡単に合成音声を活用することができます。
2024年1月に正式リリースされた Chainlit をチャット UI のフレームワークとして利用しています。シンプルな利用であれば非常に簡潔なコードでアプリケーションを作成することができます。また添付ファイルの入力や音声出力など様々な I/O への対応が可能であったり、その他のカスタマイズ性も高くなっています。