Spaces:
Sleeping
Sleeping
A newer version of the Streamlit SDK is available: 1.57.0
開発ガイドライン
プロジェクトの目的
RAG の回答品質評価システム。共形予測(Conformal Prediction)を用いて、LLM 回答のサブクレームごとに統計的保証付きのスコアリングを行う。既存のバッチ処理ロジック(src/ や main.py)を活かしつつ、インタラクティブに操作できるデモアプリ(demo/)をアジャイルに開発している。
ディレクトリ構成
src/
├── calibration/ # 共形予測キャリブレーション
├── common/ # 共通コンポーネント(設定・ファイル・LLM 管理)
├── data_processor/ # データセット処理パイプライン
├── dataloader/ # HuggingFace データローダー
├── rag/ # RAG(SQLite ベース文書 DB)
├── subclaim_processor/ # 回答品質評価の中核パイプライン
└── utils/ # 汎用ヘルパー関数
demo/
├── app.py # Streamlit エントリーポイント
├── inference_api.py # 単一クエリ推論ラッパー(src/ を呼び出す)
└── precompute.py # 閾値の事前計算スクリプト(オフライン実行用)
コンテキストと設計
詳細は docs/context/ を参照。
| ドキュメント | 内容 |
|---|---|
01_original_architecture.md |
アーキテクチャ全体像・データフロー・クラス設計 |
02_design_patterns_analysis.md |
設計パターンの評価と改善案 |
03_demo_app_design.md |
デモアプリの技術選定・UI 設計・開発ステップ |
04_environment_setup.md |
環境構築・実行手順(Singularity、.env 設定、スクリプト一覧) |
06_test_strategy.md |
テスト計画と実行フロー(ユニットテスト〜UI テスト) |
ロジックを変更した際、アーキテクチャに大きな変更が生じた場合は docs/context/ 内のドキュメントも合わせて更新してください。
コーディングルール
src/(コアロジック)
src/配下のコアロジックの修正・リファクタリングは許可されています。- ただし、既存の
main.pyを使ったバッチ処理が壊れないよう、後方互換性を意識するか、影響範囲を報告してください。
demo/(デモアプリ)
- デモ特有の UI ロジックやエンドポイントは
demo/ディレクトリ内に隔離し、src/のコアロジックと密結合させないでください。 demo/からsrc/モジュールをimportするのみとし、コアロジックは変更しないでください。- キャリブレーション閾値($\hat{q}$)は
demo/precompute.pyで事前計算し、JSON/CSV として静的保持してください。デモ実行時にキャリブレーションループを回さないでください。
Git
- 機能単位でキリが良いところで
git commitを提案してください。