1
WeaveによるRAGシステムの
LLM変更時の精度検証手順
布留川 英一
9月17日(火) 18:40
2
自己紹介
・布留川 英一 (ふるかわ ひでかず)
・ハンドル : npaka
・株式会社ゼルペム
・プログラム歴 40年 (1984)
・インターネット歴 30年 (1994)
・技術書歴 23年 (2001)
年間2冊ペースで50冊ほど
3
note
アジェンダ
4
5
アジェンダ
1. Weaveの紹介
1-1. Weaveの紹介
1-2. Weaveの使い方
1-3. Weaveの記録方法 (自動・関数・モデル)
2. RAGシステムのLLM変更時の精度検証手順
2-1. RAGシステムのLLM変更
2-2. RAGシステムの評価指標
2-3. RAGシステムの精度検証
1. Weaveの紹介
6
1-1. Weaveの紹介
7
8
LLMアプリの記録・実験・評価のためのツール
Weave
https://weave-docs.wandb.ai/
・記録 : LLMとのあらゆるやり取りを記録
・実験 : 様々なパラメータを試して結果を確認
・評価 : モデルが改善されたかどうかを測定
1-2. Weaveの使い方
9
10
セットアップ
weave.init()のみでLLM入出力を自動ログ記録
11
OpenAI APIの準備
12
LLM呼び出し
Traces
13
Webサイトで確認
1-2. Weaveの記録方法
14
15
Weaveの記録方法
1.自動的に記録
・LLMオブジェクトの入出力を自動記録
2.関数の記録 - @weave.op()
・特定の関数の入出力を記録
・関数レベルでのバージョン管理
3.モデルの記録 - weave.Model
・モデルの属性と関数の記録
・モデルレベルでのバージョン管理
16
weave.init() のみで自動的に記録
1. 自動的に記録
https://weave-docs.wandb.ai/guides/integrations/
・OpenAI
・Anthropic
・Cerebras
・Cohere
・MistralAI
・Google Gemini
・Together AI
・Groq
・Open Router
・LiteLLM
・LangChain
・LlamaIndex
・DSPy
17
2. 関数の記録 (1)
関数に @weave.op() を付加
関数の入出力を記録
18
2. 関数の記録 (2)
関数の入出力の記録とバージョン管理
19
3. モデルの記録 (1)
クラスで weave.Model を継承
関数を記録
属性を記録
20
3. モデルの記録 (2)
モデルの属性と関数の記録とバージョン管理
Models
2. RAGシステムのLLM更新時の
精度検証手順
21
2-1. RAGシステムのLLM更新
22
23
・RAGシステムは定期的にLLM変更が必要になる
・より高性能なモデルのリリース
・より安価なモデルのリリース
・使用していたモデルのサービス終了
・LLM変更のみでは正しく動く保証はない
RAGシステムのLLM変更
RAGシステムの精度検証が必要
2-2. RAGシステムの評価指標
24
25
RAGシステムの評価指標
https://github.com/explodinggradients/ragas
検索(Retrieval)
生成(Generation)
忠実性
回答がコンテキストに
忠実であるか
コンテキストの精度
コンテキストが
質問に対して
どれだけ関連しているか
コンテキストの再現性
コンテキストが
正解に対して
どれだけ関連しているか
回答の関連性
回答が質問に対して
どれだけ関連しているか
RAGAS
2-3. RAGシステムの精度検証
26
27
RAGシステムの精度検証
1. RAGの入出力を記録
2. 評価データセットの準備
3. 評価関数の準備
4. 実験・評価
5. 評価の比較
28
1. RAGの入出力を記録
質問を入力
回答とコンテキストを出力
属性でモデルIDを保持
29
質問(必要であれば正解も)リストの作成
2. 評価データセットの準備
30
質問とモデル出力を入力、検証結果を出力
3. 評価関数の準備(1)
忠実性
回答がコンテキストに
忠実であるか
質問とモデル出力を入力
31
3. 評価関数の準備(2)
検証結果を出力
32
weave.Evaluation で実験・評価。
4. 実験・評価
評価データセット
評価関数
正解率
評価の平均時間
33
複数の Evaluations を選択して Compare。
5.評価の比較 (1)
Evaluations
Compare
34
5.評価の比較 (2)
35
5.評価の比較 (3)

WeaveによるRAGシステムのLLM変更時の精度検証手順 by 布留川 英一(@npaka)