Skip to content
 
 

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  1. プロジェクト概要 1.1 背景・課題 現在、講師が行う「保護者向け授業レポート」の作成業務において、以下の課題が存在する。 工数の肥大化: 授業終了後のレポート執筆に多大な時間を要している。 品質のバラつき: 講師の経験値により、レポートの質(保護者満足度)に差が生じている。 文脈の欠如: 過去の指導内容を踏まえた、一貫性のあるフィードバックが徹底できていない。

1.2 目的(ゴール) マルチモーダルAI(Google Gemini 2.5 Flash)を活用し、授業の動画・音声データからレポート草案を自動生成するアプリケーションを開発する。 本PoC(概念実証)を通じて、「レポート作成工数の80%削減」および「品質の平準化(ベテラン講師並みの記述)」の実現可能性を検証する。

1.3 対象範囲 (Scope) 対象ユーザー: 仲のいい講師10名程度 開発フェーズ: プロトタイプ開発(期間:1週間程度) プラットフォーム: Webブラウザ(PC/タブレット)

  1. システム構成概要

2.1 システムアーキテクチャ 本システムは、迅速な検証を可能にするため、Pythonフレームワーク「Streamlit」を用いたシングルページアプリケーションとして構築する。

User[講師ユーザー] -->|ブラウザ操作| APP[Streamlit アプリケーション]

subgraph "外部連携・データソース"
    APP -->|授業動画/音声アップロード| Gemini[Google Gemini API (1.5 Pro)]
    APP -->|参照(SELECTのみ)| DB[(既存顧客管理DB MySQL)]
    APP -->|静的データ参照| GoogleSpreadsheet[学習データ定義(マニュアル/良例/悪例)]

Gemini -->|生成テキスト| APP
DB -->|過去レポート履歴| APP
GoogleSpreadsheet --> |マニュアル/良例/悪例| APP
APP -->|完了レポート(Plain Text)| User

2.2 技術スタック フロントエンド/バックエンド Python (Streamlit) UI構築およびロジック処理 生成AIモデル Google Gemini 1.5 Pro 動画/音声解析、長文脈理解 データベース MySQL (既存) ※読み取り専用権限で接続 インフラ Streamlit Community Cloud (予定) GitHub連携によるデプロイ

  1. 機能要件 3.1 入力機能 (Input) ユーザー(講師)が以下の情報を入力・アップロードできること。 生徒ID連携: 既存DB検索用のキーとなるID(または氏名)の入力。 授業メディア: 授業の記録データ(動画 .mp4 または 音声 .mp3, .m4a)のアップロード。 単元・課題情報: 本日扱った問題集のページ、単元名、宿題範囲などのテキスト入力。 教材情報: 使用したテキストやプリントの補足情報。

3.2 データ取得・処理機能 (Process) 入力された情報をトリガーとして、以下の処理を実行すること。 過去履歴の取得:入力された「生徒ID」に基づき、MySQLのレポートテーブルから直近2件の過去レポートを取得する。DB接続エラー時や該当データなしの場合は、例外処理として「履歴なし」扱いで続行すること(システムを停止させない)。 マルチモーダル解析:アップロードされたメディアファイルをGemini APIへ送信する。動画/音声から「生徒の反応」「躓いた箇所」「成長点」を抽出する。 レポート生成 (Generation):以下の情報をコンテキスト(文脈)としてAIに与え、レポートを生成する。 ・システムプロンプト(役割定義) ・学習データ(優良レポート例、不良レポート例、執筆マニュアル) ・その生徒の過去のレポート履歴(前回指摘事項の確認のため) ・本日の授業(その日の設問・問題文・授業内容viaメディア解析)

3.3 出力機能 (Output) 生成されたレポートを画面に表示すること。 LINE送付用フォーマット:出力はプレーンテキストのみとする。 Markdown記法(**, ##, > 等)はプログラム側で自動的に削除・整形する。 コピー機能:ワンクリックでクリップボードにコピーできるUIを提供すること。

  1. 非機能要件

4.1 セキュリティ・権限認証情報の管理 Gemini APIキー、DB接続情報(ホスト、パスワード等)はソースコードに直書きせず、環境変数または設定ファイル(secrets.toml)にて厳重に管理する。 データベース保護: 既存顧客DBへの接続は、データの改ざん事故を防ぐため、必ず「SELECT権限のみ」を付与された読み取り専用ユーザーを使用する。 プライバシー:学習データとして、生徒の個人情報(氏名、住所等)をAIモデルの再学習(Training)に使用しない設定とする(API利用規約に準拠)。

4.2 性能・ユーザビリティ応答時間: 動画解析には時間を要するため(30秒〜60秒程度)、処理中は画面上にスピナー(進捗表示)を出し、フリーズしていないことをユーザーに明示する。 対応デバイス:PCブラウザ(Chrome推奨)での利用を主とするが、スマホからの閲覧でもレイアウトが崩れないこと(Streamlit標準レスポンシブ対応)。

  1. データ要件(スキーマ定義など) 5.1 参照データベース (MySQL)以下の構造を持つテーブルへのアクセス権限が必要となる。 テーブル名: reports (仮称) 必要カラム: student_id (生徒ID / VARCHAR), content (レポート本文 / TEXT), created_at (作成日時 / DATETIME)

5.2 アプリケーション内包データ 以下のデータはアプリケーション内の定数、または外部テキストファイルとして保持する。 優良レポートデータ: 100選(または代表的な数件) 不良レポートデータ: 代表的なNG例 マニュアル: 授業レポート作成のガイドライン、感動ワード集

  1. 制限事項・前提条件 動画サイズ制限: Streamlit Community Cloudの仕様上、アップロードできるファイルサイズには上限(デフォルト200MB程度)があるため、長時間の高画質動画は圧縮または音声のみの利用を推奨する。 APIコスト: 実証実験中はGemini APIの従量課金が発生するため、長時間の動画を乱発しないよう運用ルールを設ける(または開発用無料枠の範囲内で実施する)。 ステートレス性: アプリケーションは利用者のセッション情報を保持しない。リロードすると入力内容はリセットされる。

About

y 's auto report generator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages