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