File size: 11,167 Bytes
7cd8277
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
# 📁 プロジェクト構成ガイド

このドキュメントでは、`fastapi_django_main_live` プロジェクトのフォルダ構成について詳しく説明します。

## 🏗️ 概要

このプロジェクトは、FastAPI、Django、Gradio、そして各種AI/ML ツールを統合したマルチフレームワーク開発環境です。

```
fastapi_django_main_live/
├── 🌐 Webアプリケーション層
├── 🤖 AI/ML統合層  
├── 💾 データベース層
├── 🔧 開発・運用ツール層
└── 📚 ドキュメント・リソース層
```

---

## 📂 ルートディレクトリ構成

### 🚀 **メインアプリケーションファイル**

| ファイル | 説明 | 用途 |
|---------|------|------|
| `app.py` | メインアプリケーションエントリーポイント | FastAPI/Django統合起動 |
| `manage.py` | Django管理コマンド | Django標準管理ツール |
| `app_debug_server.py` | デバッグ用サーバー | 開発時のデバッグサーバー |

### ⚙️ **設定・構成ファイル**

| ファイル | 説明 | 用途 |
|---------|------|------|
| `Makefile` | プロジェクト管理コマンド | 開発・運用の自動化 |
| `docker-compose.yml` | Docker構成 | コンテナ化環境 |
| `Dockerfile` | Dockerイメージ定義 | アプリケーションコンテナ |
| `pyproject.toml` | Python依存関係管理 | Poetry設定 |
| `requirements.txt` | pip依存関係 | パッケージ管理 |
| `pytest.ini` | テスト設定 | pytest構成 |

### 🔐 **環境・認証ファイル**

| ファイル | 説明 | 用途 |
|---------|------|------|
| `.env` | 環境変数設定 | API キー、DB接続情報等 |
| `.env.example` | 環境変数テンプレート | 設定例 |
| `fix_secrets.sh` | シークレット修正スクリプト | セキュリティ設定 |

### 💾 **データベースファイル**

| ファイル | 説明 | 用途 |
|---------|------|------|
| `prompts.db` | プロンプト管理用SQLite | プロンプト履歴・テンプレート |
| `chat_history.db` | チャット履歴用SQLite | 会話履歴保存 |
| `users.db` | ユーザー情報用SQLite | ユーザー管理 |

---

## 🏢 **メインアプリケーション構造**

### 🌐 `mysite/` - Django メインサイト
Djangoプロジェクトのコア部分

```
mysite/
├── settings.py      # Django設定
├── urls.py          # URLルーティング
├── asgi.py          # ASGI設定
├── wsgi.py          # WSGI設定
├── libs/            # 共通ライブラリ
├── routers/         # FastAPIルーター
├── config/          # 設定管理
├── database/        # データベース操作
└── interpreter/     # インタープリター機能
```

### 🎮 `controllers/` - Gradio コントローラー
各種Gradioインターフェースの実装

```
controllers/
├── gra_01_chat/              # チャット機能
├── gra_02_openInterpreter/   # OpenInterpreter統合
├── gra_03_programfromdoc/    # ドキュメントからプログラム生成
├── gra_04_database/          # データベース操作UI
├── gra_05_files/             # ファイル操作
├── gra_07_html/              # HTML生成
├── gra_08_hasula/            # Hasula機能
├── gra_09_weather/           # 天気情報
├── gra_10_frontend/          # フロントエンド生成
└── gra_11_multimodal/        # マルチモーダル機能
```

### 📱 `apps/` - Django アプリケーション
業務固有のDjangoアプリケーション

```
apps/
├── buyback/              # 買取システム
├── clothing_project/     # 衣類プロジェクト
├── diamond_project/      # ダイヤモンドプロジェクト
├── gold_price_project/   # 金価格プロジェクト
├── metal_assessment/     # 金属査定
├── mainapi/              # メインAPI
└── mydjangoapp/          # 汎用Djangoアプリ
```

---

## 🤖 **AI/ML 統合層**

### 🧠 `AutoPrompt/` - プロンプト最適化
自動プロンプト生成・最適化システム

```
AutoPrompt/
├── optimization_pipeline.py  # 最適化パイプライン
├── run_pipeline.py           # 実行スクリプト
├── config/                   # 設定ファイル
├── prompts/                  # プロンプトテンプレート
├── estimator/                # 推定器
└── eval/                     # 評価システム
```

### 🦙 `LLaMA-Factory/` - LLM ファインチューニング
LLaMAモデルのファインチューニング環境

```
LLaMA-Factory/
├── src/                      # ソースコード
├── data/                     # 学習データ
├── examples/                 # 使用例
├── evaluation/               # 評価スクリプト
└── scripts/                  # 実行スクリプト
```

### 👶 `babyagi/` - 自律AIエージェント
BabyAGI実装とカスタマイズ

```
babyagi/
├── babyagi.py               # メインエージェント
├── classic/                 # クラシック版
├── babycoder/               # コーディング特化
├── extensions/              # 拡張機能
└── tools/                   # ツール群
```

### 🔍 `open-interpreter/` - オープンインタープリター
コード実行・解釈システム

```
open-interpreter/
├── interpreter/             # インタープリターコア
├── docs/                   # ドキュメント
└── examples/               # 使用例
```

### 🏗️ `gpt-engineer/` - AI コード生成
GPTベースのコード生成システム

```
gpt-engineer/
├── gpt_engineer/           # コア機能
├── projects/               # 生成プロジェクト
└── benchmark/              # ベンチマーク
```

---

## 💾 **データ・ストレージ層**

### 🗄️ `chroma/` - ベクトルデータベース
埋め込みベクトル保存・検索

```
chroma/
├── chroma.sqlite3          # ChromaDB データベース
└── [collection-id]/        # コレクションデータ
```

### 📊 `workspace/` - ワークスペース
プロジェクト固有のワークスペース

### 🗃️ `static/` & `staticfiles/` - 静的ファイル
```
static/          # 開発用静的ファイル
staticfiles/     # 本番用静的ファイル
├── css/         # スタイルシート
├── js/          # JavaScript
├── images/      # 画像ファイル
└── admin/       # Django管理画面用
```

---

## 🔧 **開発・運用ツール層**

### 🐳 **コンテナ化**
- `Dockerfile` - アプリケーションコンテナ
- `docker-compose.yml` - マルチコンテナ構成
- `.dockerignore` - Docker除外ファイル

### 🔄 **CI/CD**
```
.github/
├── workflows/              # GitHub Actions
├── ISSUE_TEMPLATE/         # Issue テンプレート
└── PULL_REQUEST_TEMPLATE/  # PR テンプレート
```

### 🛠️ **開発環境**
```
.devcontainer/
├── devcontainer.json       # VS Code 開発コンテナ設定
└── Dockerfile             # 開発用コンテナ
```

### 🧪 `tests/` - テストスイート
```
tests/
├── test_*.py              # 各種テストファイル
├── test_folders*/         # テスト用データ
└── fixtures/              # テスト固定データ
```

---

## 📝 **設定・コマンド詳細**

### 🎯 **Makefileコマンド**

| コマンド | 説明 | 用途 |
|---------|------|------|
| `make app` | メインアプリ起動 | FastAPI/Django サーバー開始 |
| `make dev` | 開発モード起動 | ホットリロード有効 |
| `make debug` | デバッグモード起動 | ブレークポイント使用可能 |
| `make test` | テスト実行 | 全テストスイート実行 |
| `make clean` | クリーンアップ | 一時ファイル削除 |
| `make docker-up` | Docker起動 | コンテナ環境開始 |

### 🌍 **環境変数 (.env)**

| 変数 | 説明 | 例 |
|------|------|-----|
| `GROQ_API_KEY` | GroqAI APIキー | `gsk_...` |
| `DATABASE_URL` | データベースURL | `sqlite:///./app.db` |
| `SPACE_ID` | Hugging Face Space ID | `username/space-name` |
| `WEBHOOK_URL` | Google Chat Webhook | `https://chat.googleapis.com/...` |

### 🗄️ **データベーススキーマ**

#### `prompts.db`
```sql
CREATE TABLE prompts (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);
```

#### `chat_history.db`
```sql
CREATE TABLE history (
    id INTEGER PRIMARY KEY,
    role TEXT NOT NULL,
    type TEXT,
    content TEXT NOT NULL,
    timestamp TIMESTAMP
);
```

---

## 🚀 **クイックスタート**

### 1. 環境セットアップ
```bash
# 依存関係インストール
make requirements

# 環境変数設定
cp .env.example .env
# .env ファイルを編集してAPIキーを設定
```

### 2. アプリケーション起動
```bash
# 開発モードで起動
make dev

# または通常モードで起動
make app
```

### 3. 主要URL
- **メインアプリ**: http://localhost:7860
- **Django管理**: http://localhost:7860/admin
- **API文書**: http://localhost:7860/docs

---

## 📚 **主要機能**

### 🎨 **Gradio インターフェース**
- チャット機能 (`gra_01_chat`)
- プログラム自動生成 (`gra_03_programfromdoc`)
- データベース操作UI (`gra_04_database`)
- ファイル処理 (`gra_05_files`)

### 🤖 **AI 統合**
- OpenInterpreter によるコード実行
- LLaMA ファインチューニング
- プロンプト自動最適化
- BabyAGI 自律エージェント

### 💼 **業務アプリケーション**
- 買取システム (`buyback`)
- 金属査定システム (`metal_assessment`)
- 価格管理システム (`gold_price_project`)

---

## 🔍 **トラブルシューティング**

### よくある問題

1. **データベース接続エラー**
   ```bash
   # データベース初期化
   python manage.py migrate
   ```

2. **依存関係エラー**
   ```bash
   # 依存関係再インストール
   make clean
   make requirements
   ```

3. **ポート競合**
   ```bash
   # 使用中ポートの確認
   lsof -i :7860
   ```

---

## 📈 **開発ガイドライン**

### 🏗️ **新機能追加**
1. `controllers/gra_XX_newfeature/` に新しいGradioインターフェースを作成
2. `apps/newapp/` に新しいDjangoアプリを作成
3. `mysite/routers/` にFastAPIルーターを追加

### 🧪 **テスト**
```bash
# 特定テスト実行
pytest tests/test_specific.py

# カバレッジ付きテスト
pytest --cov=mysite tests/
```

### 📦 **デプロイ**
```bash
# Docker イメージビルド
make docker-build

# コンテナ起動
make docker-up
```

---

## 📞 **サポート**

- 📖 **ドキュメント**: `/docs/` フォルダ参照
- 🐛 **バグ報告**: GitHub Issues
- 💡 **機能要求**: GitHub Discussions

---

*最終更新: 2025年6月11日*