fastapi_django_main_live / FOLDER_STRUCTURE.md
GitHub Action
🚀 Auto-deploy from GitHub Actions
7cd8277

A newer version of the Gradio SDK is available: 5.34.2

Upgrade

📁 プロジェクト構成ガイド

このドキュメントでは、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

CREATE TABLE prompts (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

chat_history.db

CREATE TABLE history (
    id INTEGER PRIMARY KEY,
    role TEXT NOT NULL,
    type TEXT,
    content TEXT NOT NULL,
    timestamp TIMESTAMP
);

🚀 クイックスタート

1. 環境セットアップ

# 依存関係インストール
make requirements

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

2. アプリケーション起動

# 開発モードで起動
make dev

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

3. 主要URL


📚 主要機能

🎨 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. データベース接続エラー

    # データベース初期化
    python manage.py migrate
    
  2. 依存関係エラー

    # 依存関係再インストール
    make clean
    make requirements
    
  3. ポート競合

    # 使用中ポートの確認
    lsof -i :7860
    

📈 開発ガイドライン

🏗️ 新機能追加

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

🧪 テスト

# 特定テスト実行
pytest tests/test_specific.py

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

📦 デプロイ

# Docker イメージビルド
make docker-build

# コンテナ起動
make docker-up

📞 サポート

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

最終更新: 2025年6月11日