Kotoba — 日语 RAG 评估测试套件
Kotoba — Japanese RAG Evaluation Harness
针对日语文档的分词差异、汉字/假名混合及复合名词,构建可复现的 RAG 评估基础设施研发原型。在预处理中集成 Sudachi/MeCab 形态素分析,并在 pgvector 上批量计算 nDCG@10、MRR、Recall@K。
在线演示
实际应用界面预览
Retriever 比較
Embedding Leaderboard
internal benchmark| # | Model | Params | R@10 | nDCG |
|---|---|---|---|---|
| 1 | ruri-large-v2 | 337M | 0.847 | 0.792 |
| 2 | multilingual-e5-large | 560M | 0.821 | 0.774 |
| 3 | cl-nagoya/sup-simcse-ja | 110M | 0.789 | 0.751 |
| 4 | sudachi-bm25 (baseline) | — | 0.724 | 0.683 |
| 5 | mE5-small | 118M | 0.712 | 0.669 |
Query trace — sample #842
index: kotoba-legal-ja-v3Query
医療機器の添付文書における使用期限の記載要件を教えて
医療機器の添付文書には、使用の期限を記載しなければならない…
使用期限の表示は、製造販売業者が設定する有効期間に基づき…
リスクマネジメントの観点から、使用期限の妥当性を検証する…
ラベル表示における日付フォーマットは YYYY.MM 形式とし…
挑战
现有 RAG 评估工具针对英文分词与相似度优化,无法正确处理日语文节边界与表记差异,导致检索精度差异被低估。同时日语评估数据集极度稀缺。
解决方案
将 Sudachi(A/B/C 模式)与 MeCab+IPAdic 分词器抽象为可插拔接口,在 pgvector(HNSW/IVFFlat)上并行评估 ruri-large、multilingual-e5、OpenAI text-embedding-3 三类嵌入,并通过 LLM-as-Judge 自动生成合成 QA。
成果
- 在内部 1,200 条合成 QA 上 nDCG@10 较基线提升 +18 个百分点(内部基准)
- 量化 Sudachi 模式切换的影响,确认 C 模式在长文中精度下降 6%
- 通过并行化将单次评估时间由 42 分钟缩短至 9 分钟
- 基于可复现 YAML 配置在 GitHub Actions 上运行夜间回归测试
Measured Impact
評価データセット件数
1,200 QA
+1,200 (内部合成)
nDCG@10改善幅
+18pt
社内ベースライン比
1ラン実行時間
9分
-33分
並列ワーカー数
8
+6
What it does
評価機能
nDCG/MRR/Recall@K
主要IRメトリクスをDuckDBに永続化し差分可視化。
LLM-as-Judge
合成QAとRagas faithfulness/answer relevancy。
日本語対応
トークナイザ抽象
Sudachi A/B/CモードとMeCabをプラガブル切替。
表記ゆれ正規化
NFKC・全半角・カタカナ揺れの事前統一。
System Layers
Layered architecture showing components, responsibilities, and data flow.
Layer
前処理層
表記ゆれと分かち書き境界を揃える日本語前処理。モード別に分岐し結果をキャッシュ。
Layer
検索層
密ベクトルとBM25のハイブリッドで候補抽出、cross-encoderで再ランキング。
Layer
評価層
実行ごとのメトリクスとプロンプトをDuckDBに蓄積し差分レポートを生成。
How we built it
データセット整備
JSQuAD・MIRACL-jaと社内合成QAを統一スキーマに変換。
Deliverables
- データローダ
- スキーマ定義
- 品質レポート
トークナイザ比較
Sudachi各モードとMeCabの精度・速度をマトリクス評価。
Deliverables
- ベンチマーク表
- ユニットテスト
- 設定テンプレート
埋め込みモデル評価
ruri-large等の日本語特化モデルを並列評価。
Deliverables
- モデル比較レポート
- 埋め込みキャッシュ
CI統合
夜間回帰と差分アラートをGitHub Actionsに組み込み。
Deliverables
- ワークフローYAML
- 通知Bot
- ダッシュボード
Delivery Timeline
- Phase 1Done2026-04
トークナイザ抽象層
Sudachi/MeCabをPluginインターフェースで統一し単体テストを整備。
- Phase 2In Progress2026-05
評価メトリクス実装
nDCG/MRR/Recallを再計算可能な形でDuckDBに永続化。
- Phase 3Planned2026-06
LLM-as-Judge合成QA
社内文書からQAペアを自動生成し人手レビュー導線を追加。
- Phase 4Planned2026-08
OSS公開検討
MITライセンスでの部分公開と社外ベンチマーク受け入れ。
Who built it
Roles
- MLエンジニア (リード)
- データエンジニア (パートタイム)
Tools & Platforms
Backend
Data
Infrastructure
Other