Skip to content

Repository files navigation

AI大喜利評価アプリ 🎭

ユーザーが入力した大喜利の回答に対して、AI(Gemini 3.6 Flash)が審査員となり、点数付け(100点満点)、評価ランク(S〜D)、ユーモア溢れる批評コメントを返すWebアプリケーションです。


🛠 技術スタック

  • バックエンド: Python 3.12 / Django 5.x / SQLite3
  • AI SDK: google-genai (gemini-3.6-flash)
  • フロントエンド: Django Template + Tailwind CSS (CDN)
  • アーキテクチャ: Adapter パターン(将来的な他LLMプロバイダーへの拡張に対応)

🚀 セットアップ & 起動手順

1. 前提条件

  • Python 3.10 以上(Python 3.12 推奨)

2. 仮想環境の作成と依存関係のインストール

# 仮想環境の作成
python3 -m venv .venv

# 仮想環境のアクティベート (macOS / Linux)
source .venv/bin/activate

# 依存ライブラリのインストール
pip install -r requirements.txt

3. 環境変数の設定

プロジェクトルートの .env ファイルに、Gemini APIキーを設定してください。

cp .env.example .env

.env 内の GEMINI_API_KEY をご自身のAPIキーに書き換えます:

GEMINI_API_KEY=your_actual_gemini_api_key_here
LLM_PROVIDER=gemini

4. データベースマイグレーション

python manage.py makemigrations
python manage.py migrate

5. 開発サーバーの起動

python manage.py runserver

ブラウザで http://127.0.0.1:8000/ にアクセスしてアプリケーションをご利用いただけます。


🧪 テスト実行手順

Django の構成チェックおよび各種ユニットテストを実行するには、以下のコマンドを使用します。

1. Django 構成チェック

python manage.py check

2. ユニットテストの実行

python manage.py test

テスト内容:

  • Odai および EvaluationLog モデルの挙動テスト
  • インデックスページの表示テスト
  • LLM Adapter モックを用いた評価リクエスト/レスポンス表示テスト

🔑 管理画面 (Django Admin) のご利用

大喜利のお題や過去の評価ログを管理画面から確認できます。

1. スーパーユーザーの作成

python manage.py createsuperuser

2. 管理画面へのアクセス

開発サーバー起動後、 http://127.0.0.1:8000/admin/ にアクセスしてログインしてください。


📂 プロジェクト構造

.
├── manage.py
├── .env
├── .env.example
├── requirements.txt
├── README.md
├── .github/
│   └── workflows/
│       └── django.yml     # CI Workflow
├── ogiri_project/         # プロジェクト共通設定
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── apps/
    └── evaluator/        # メインアプリケーション
        ├── models.py      # Odai, EvaluationLog
        ├── views.py       # ビューロジック
        ├── urls.py        # ルーティング
        ├── tests.py       # ユニットテスト
        ├── llm/           # LLM Adapter モジュール
        │   ├── base.py    # 抽象クラス
        │   ├── gemini.py  # Gemini 3.6 Flash 実装
        │   └── factory.py # アダプターファクトリー
        └── templates/
            └── evaluator/
                └── index.html

About

大喜利トレーニングアプリ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages