translate-ja-v4
LangChain/LangGraphベースの文書翻訳パイプラインを実行・保守する。
参照資料
作業内容に対応する資料を先に確認する。
- Stage順序、入出力、Resume、障害時の挙動: workflow.md
- ライブラリ、API、CLI、データ契約、LangGraph設計: spec.md
- unit・統合テストと期待値: test.md
examples/template.docxのWord書式: template-format.md
実行
リポジトリルートから次を実行する。
uv run python skills/translate-ja-v4/scripts/run_pipeline.py \
--input ./inputs/sample.pdf \
--output-dir ./outputs/sample \
--template ./skills/translate-ja-v4/examples/template.docx \
--glossary ./skills/translate-ja-v4/examples/glossary.csv \
--structure-rules ./skills/translate-ja-v4/examples/structure-rules.md \
--translation-rules ./skills/translate-ja-v4/examples/translation-rules.md \
--review-rules ./skills/translate-ja-v4/examples/review-rules.md \
--translator llm \
--context-chars 50000 \
--batch-chars 20000 \
--max-batch-elements 0 \
--pdf-chunk-pages 10
Review RAG用文書をQdrantへ登録するときは、spec.md のIngest契約を確認して次を実行する。
uv run python skills/translate-ja-v4/scripts/ingest_qdrant.py \
--input ./docs/domain \
--collection domain-documents
実装規則
run_pipeline.pyはCLIだけを扱い、Stage順序はtranslate_ja_v4/graph.pyに置く。- Stage固有処理は
translate_ja_v4/stages/<stage>.pyのprivate関数へ置き、複数Stageで使う処理だけを共通moduleへ置く。 - LLMはLangChainのprompt、LCEL、structured outputを使い、処理順、並列Review、checkpointはLangGraphで表現する。
- 組み込みpromptは役割、日本語訳、外部ルール遵守、出力schemaだけに限定し、変更可能な判断基準を外部rulesへ置く。
- Structure、Translate、Reviewは要素単位、それ以外はStage単位でResumeする。
- ログ本文は英語、既定levelはDEBUGとし、level名だけを色付きにする。secretや巨大payloadは記録しない。
- 挙動を変更した場合は関連するreferenceとテストも同じ変更で更新する。
- Qdrant ingestは安定IDでupsertし、既存pointの削除は明示的な
--replace-sourceの場合だけ行う。