A newer version of the Gradio SDK is available:
5.45.0
title: kids-playground-ai-api
emoji: 🤖
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 4.44.1
app_file: app.py
pinned: false
口コミ要約AI API
概要
本プロジェクトは、「親子で遊ぼうナビ」アプリケーションにAIを活用した口コミの自動要約機能を提供するAPIです。Hugging Face SpacesとGradioを基盤として構築されており、ユーザーが施設の評判を素早く把握できるよう支援します。
主な機能
- 口コミの自動要約: 施設の口コミテキストを受け取り、AIが分析して中立的な要約文を生成します。
- パスワード認証: 環境変数で設定されたパスワードにより、APIへのアクセスを保護します。
- Gradio UI: 開発・デバッグ用に、ブラウザから直接操作できるGradioのデモUIを提供します。
技術スタック
- AIフレームワーク: Hugging Face Transformers
- APIフレームワーク: Gradio
- 言語: Python 3.12
- 開発環境: Docker, Docker Compose
- 品質管理: Ruff (Linter/Formatter), Mypy (Type Checker), pre-commit (Git Hooks)
ローカル開発環境のセットアップ
本プロジェクトはDockerを用いて、OSに依存しない開発環境を構築します。
前提条件
- Docker および Docker Compose がインストールされ、起動していること。
セットアップ手順
リポジトリのクローン:
git clone https://github.com/jam006097/kids-playground-ai-api.git cd kids-playground-ai-api
環境変数の設定:
.env.example
ファイルをコピーして.env
ファイルを作成し、後述の「環境変数」セクションを参考に内容を編集します。cp .env.example .env
Dockerコンテナのビルドと起動:
docker-compose up --build -d
これにより、必要なライブラリがインストールされ、Gradioアプリケーションがコンテナ内で起動します。
pre-commit
フックのインストール: Gitコミット時にコード品質チェックを自動実行するため、pre-commit
フックをインストールします。docker-compose exec api pre-commit install
環境変数
本アプリケーションは、.env
ファイルまたは実行環境の環境変数から以下の設定を読み込みます。
変数名 | 説明 | デフォルト値・例 |
---|---|---|
GRADIO_PASSWORD |
APIとGradioデモUIを保護するためのパスワード。設定しない場合、認証は無効になります。 | your_strong_password_here |
AI_MODEL_NAME |
(オプション)要約に使用するHugging Faceモデルの名前。指定しない場合、コード内で定義されたデフォルトモデルが使用されます。 | llm-jp/t5-small-japanese-finetuned-sum |
アプリケーションの実行とアクセス
docker-compose up
を実行すると、APIサーバーが起動します。
- GradioデモUI:
http://localhost:7860
- ブラウザでアクセスすると、パスワード認証が求められます。
.env
で設定したGRADIO_PASSWORD
を入力してください。
- ブラウザでアクセスすると、パスワード認証が求められます。
APIの認証と利用
APIはパスワードで保護されています。クライアントからAPIを呼び出す際は、以下の情報が必要です。
- エンドポイントURL:
http://localhost:7860
(またはデプロイ先のURL) - ユーザー名:
gemini
(固定) - パスワード:
GRADIO_PASSWORD
で設定した値
クライアント(例: gradio_client
)では、このユーザー名とパスワードを使って認証を行います。
テストの実行
pytest
を使用してテストを実行します。以下のコマンドで、コンテナ内のすべてのテストを実行できます。
docker-compose exec api pytest
デプロイ
このアプリケーションは、Hugging Face Spacesへのデプロイを想定して構成されています。リポジトリをHugging Faceにプッシュすると、自動的にビルドとデプロイが実行されます。
本番環境では、Hugging FaceのRepository secretsにGRADIO_PASSWORD
を設定して、APIを保護してください。
ライセンス
本プロジェクトは MIT License の下で公開されています。詳細はLICENSEファイルをご覧ください。