Spaces:
Sleeping
Sleeping
File size: 5,638 Bytes
7d5d983 7f3121e 7d5d983 0447f30 2bdf0a5 0447f30 2bdf0a5 0447f30 7f3121e 0447f30 2bdf0a5 0447f30 2bdf0a5 0447f30 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | ---
title: LLMView Multi-Model
emoji: 🌳
colorFrom: yellow
colorTo: yellow
sdk: gradio
sdk_version: "4.43.0"
app_file: app.py
pinned: false
---
# LLMView Multi-Model - Hugging Face Spaces版
複数のAIモデルに対応した単語ツリー構築ツール(Gradio版)
## 特徴
- ✅ **マルチモデル対応**: Transformersモデル(Llama、Qwen、Mistral、Gemma等)に対応
- ✅ **Hugging Face Spaces対応**: GradioでHFSにデプロイ可能
- ✅ **GPU対応**: ZeroGPUを使用してGPUリソースを要求
- ✅ **完全なトークン確率**: ローカルモデルで完全なトークン確率情報を取得
## Hugging Face Spacesでのデプロイ
### 1. リポジトリの作成
1. Hugging Face Spacesで新しいSpaceを作成
2. SDK: **Gradio** を選択
3. Hardware: **GPU** を選択(推奨)
### 2. 環境変数の設定
Spaceの設定で以下の環境変数を設定:
```bash
# モデルタイプ(transformers推奨)
MODEL_TYPE=transformers
# 使用するモデル(Hugging FaceリポジトリID)
HF_MODEL_REPO=meta-llama/Llama-3.2-3B-Instruct
# HF_TOKEN(gatedモデルの場合のみ必要)
# 以下のモデルはHF_TOKENが必要です:
# - meta-llama/* (Llama 3.2等) - Metaの承認とHF_TOKENが必要
# - elyza/ELYZA-japanese-Llama-2-7b-instruct - Llama-2ベースのため必要
# - bigcode/starcoder2-7b - gatedモデルの可能性あり
# その他のモデル(Qwen、Mistral、Gemma、Phi-3等)は不要
HF_TOKEN=your_hf_token
```
**HF_TOKENが必要なモデル**:
- ⚠️ **meta-llama/Llama-3.2-3B-Instruct**: Metaの承認とHF_TOKENが必要(gatedモデル)
- ⚠️ **elyza/ELYZA-japanese-Llama-2-7b-instruct**: Llama-2ベースのため必要
**HF_TOKENが不要なモデル**:
- ✅ **Qwen/Qwen2.5-3B-Instruct**: パブリックモデル
- ✅ **mistralai/Mistral-7B-Instruct-v0.2**: パブリックモデル
- ✅ **google/gemma-2b-it**, **google/gemma-7b-it**: パブリックモデル
- ✅ **microsoft/Phi-3-mini-4k-instruct**: パブリックモデル
- ✅ **TinyLlama/TinyLlama-1.1B-Chat-v1.0**: パブリックモデル
- ✅ **stabilityai/japanese-stablelm-base-gamma-7b**: パブリックモデル
- ✅ **rinna/weblab-10b-instruction-sft**: パブリックモデル
### 3. モデルの切り替え
環境変数`HF_MODEL_REPO`を変更するだけで、他のモデルに切り替え可能:
```bash
# Qwen 2.5
HF_MODEL_REPO=Qwen/Qwen2.5-3B-Instruct
# Mistral 7B
HF_MODEL_REPO=mistralai/Mistral-7B-Instruct-v0.2
# Gemma 2B
HF_MODEL_REPO=google/gemma-2b-it
```
## 使用方法
1. **プロンプトを入力**: 質問や指示を入力
2. **ルートテキスト(オプション)**: 既存のテキストの続きを生成する場合に指定
3. **パラメータ調整**:
- `top_k`: 取得する候補数(1-20)
- `max_depth`: 最大探索深さ(1-50)
4. **「単語ツリーを構築」ボタンをクリック**
## ファイル構成
```
LLMView_multi_model/
├── app.py # Gradioアプリ(メイン)
├── requirements.txt # 依存パッケージ
├── README.md # このファイル
├── MULTI_MODEL_DESIGN.md # 設計ドキュメント
└── package/
├── __init__.py
├── adapter.py # ModelAdapter(マルチモデル対応)
├── config.py # 設定管理
├── word_processor.py # 単語処理ロジック
├── word_counter.py # 単語数カウント
└── ai/
├── __init__.py # ファクトリー関数
├── base.py # BaseAIインターフェース
├── transformers_ai.py # TransformersAI(ローカルモデル)
├── openai_ai.py # OpenAIAI(オプション)
├── anthropic_ai.py # AnthropicAI(オプション)
└── google_ai.py # GoogleAI(オプション)
```
## 依存パッケージ
主要な依存パッケージ:
- `gradio>=4.43.0`: Web UI(最新版でセキュリティ脆弱性を修正)
- `spaces`: Hugging Face Spaces用
- `transformers>=4.30.0`: Transformersモデル
- `torch>=2.0.0`: PyTorch
- `fugashi>=1.3.0`: 形態素解析(日本語)
- `sudachipy>=0.6.7`: Sudachi形態素解析(オプション)
詳細は`requirements.txt`を参照してください。
## 注意事項
1. **GPU推奨**: モデルのロードと推論にはGPUが推奨されます
2. **モデルサイズ**: 大きなモデル(7B以上)はメモリとロード時間がかかります
3. **初回起動**: モデルのダウンロードに時間がかかる場合があります
4. **API非推奨**: Hugging Face Spacesでは、Transformersモデル(ローカルロード)を使用してください
## トラブルシューティング
### モデルがロードされない
- **gatedモデルの場合**: `HF_TOKEN`が正しく設定されているか確認
- `meta-llama/*`モデルはMetaの承認とHF_TOKENが必要
- Hugging Faceのモデルページで承認を申請してください
- モデルリポジトリIDが正しいか確認
- Spaceのログを確認
- パブリックモデル(Qwen、Mistral、Gemma等)はHF_TOKEN不要
### GPUが利用できない
- SpaceのHardware設定でGPUが有効になっているか確認
- `spaces`パッケージがインストールされているか確認
### 形態素解析エラー
- `fugashi`がインストールされているか確認
- HFSでは通常、デフォルト設定で動作します
## ライセンス
MIT License
|