テンプレート一覧に戻る
Python LLMアプリ
Python + LangChain/LlamaIndex のLLMアプリ開発向けCLAUDE.md。RAGパイプラインとAIエージェント開発に最適です。
上級pythonlangchainllmragai
CLAUDE.md
# プロジェクト名
Python で構築されたLLMアプリケーション。
## 技術スタック
- **言語**: Python 3.12+
- **LLMフレームワーク**: LangChain 0.3+ / LlamaIndex 0.11+
- **ベクトルDB**: Chroma / Pinecone / pgvector
- **API**: FastAPI + Pydantic v2
- **パッケージ管理**: uv
## コマンド
| コマンド | 用途 |
|---------|------|
| `uv run uvicorn app.main:app --reload` | 開発サーバー |
| `uv run pytest` | テスト実行 |
| `uv run python -m scripts.ingest` | ドキュメント取り込み |
| `uv run ruff check .` | Lint実行 |
| `uv run ruff format .` | フォーマット |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `app/chains/` | LLMチェーン・エージェント定義 |
| `app/retrieval/` | RAG検索・ベクトルストア |
| `app/api/` | APIエンドポイント |
| `data/documents/` | 取り込み対象ドキュメント |
| `prompts/` | プロンプトテンプレート |
## コーディング規約
- プロンプトはコードから分離(`prompts/` ディレクトリ管理)
- LLM呼び出しのリトライ・フォールバック実装
- APIキーは環境変数で管理(.envはGit管理外)
- チャンク分割戦略はドキュメント種別ごとに最適化
- レスポンスにソース情報(参照元)を含める
- コスト追跡のためトークン使用量をログに記録
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式