# 📁 プロジェクト構成ガイド このドキュメントでは、`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日*