- Backend: Flask (起動ランチャ
run_app.py) - Frontend: React (CDN, 直接JS/JSX) + 最小構成
- 補助UI: Streamlit アプリ (
src/streamlit/)
uv syncuv run run_app.py # http://localhost:8000重要:
server/app.pyを直接実行せず必ずrun_app.pyを使う。Python Path や絶対インポートが自動設定されるため。
uv run streamlit run src/streamlit/agent_app.py --server.port=8501他: machine_learning.py, simple_app.py も同ディレクトリにあり。
- Python 3.13 + uv (依存管理 / 実行)
- 型/品質: mypy, ruff, pytest, pre-commit
- ログ/検証: loguru, pydantic, pathlib パターン徹底
- LLM/周辺: langchain など
- サンプル環境変数:
sample.envを.envにコピーして編集
uv run pytest -q- PR 時に AI レビュー ワークフロー実行(手動トリガも可)
pre-commitは.pre-commit-config.yamlを参照(フック導入uv run pre-commit install)
詳細な使い方は .github/explanation.md を参照。VSCode Chat で / から各プロンプトを呼び出し、instructions 系はコードと一緒にコンテキストへ含める。
- ML: Iris などの学習 (
uv run python -m src.machineLearning.ml_class) → モデル/スケーラは将来的に保存ディレクトリ統合予定 - LLM: 画像解析 / PDF テキスト抽出 / テキスト分割 関数 (
src/llm/) - API: 画像解析
/api/analyze-image, PDF 抽出/api/extract-pdf-text, テキスト分割/api/split-text, Iris 予測/api/iris-prediction - Frontend: Iris 単発 & CSV バッチ予測、画像・PDF・テキスト操作 UI
- Streamlit: LLM エージェント実験 UI (
agent_app.py等)
FlaskReact/
├── src/
│ ├── run_app.py # 起動ランチャ
│ ├── server/ # Flask エントリ & ルーティング
│ ├── llm/ # 画像解析 / PDF / テキスト分割
│ ├── machineLearning/ # 学習 & 推論コード
│ ├── streamlit/ # 実験用 UI
│ ├── util/ # 共通ユーティリティ
│ └── scrape/ # スクレイピング
├── static/ # React (CDN) フロント
├── data/ # 入力データ / サンプル
├── csvLog / curveLog # 学習ログ & 曲線画像
├── tests/ # pytest テスト
├── docs/ # 補助ドキュメント
└── sample.env # 環境変数サンプル
---
今後: モデル保存場所の統一 / LLM 機能追加 / API テスト自動化 などを拡張予定。