kina006097's picture
ドキュメントの更新
4cbfa8c

A newer version of the Gradio SDK is available: 5.45.0

Upgrade
metadata
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に依存しない開発環境を構築します。

前提条件

セットアップ手順

  1. リポジトリのクローン:

    git clone https://github.com/jam006097/kids-playground-ai-api.git
    cd kids-playground-ai-api
    
  2. 環境変数の設定: .env.exampleファイルをコピーして.envファイルを作成し、後述の「環境変数」セクションを参考に内容を編集します。

    cp .env.example .env
    
  3. Dockerコンテナのビルドと起動:

    docker-compose up --build -d
    

    これにより、必要なライブラリがインストールされ、Gradioアプリケーションがコンテナ内で起動します。

  4. 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 secretsGRADIO_PASSWORDを設定して、APIを保護してください。

ライセンス

本プロジェクトは MIT License の下で公開されています。詳細はLICENSEファイルをご覧ください。