Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RAGの簡易評価によるフィードバックサイクル実践 / Feedback cycle pract...
Search
Takeshi Kondo
July 11, 2024
Technology
2
5.1k
RAGの簡易評価によるフィードバックサイクル実践 / Feedback cycle practice through simplified assessment of RAGs
https://findy.connpass.com/event/323129/
Takeshi Kondo
July 11, 2024
Tweet
Share
More Decks by Takeshi Kondo
See All by Takeshi Kondo
Slack Platform(Deno) での RAG 実装 - LangChain(js) を使ってみた / rag-implementation-on-slack-platform-deno-experimenting-with-langchain-js
chaspy
0
170
SRE の考えをマネジメントに活かす / applying SRE ideas to management
chaspy
7
6.6k
定量データと定性評価を用いた技術戦略の組織的実践 / Systematic implementation of technology strategies using quantitative data and qualitative evaluation
chaspy
9
1.7k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
2k
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
1.8k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
8k
自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills
chaspy
1
4.8k
『スタディサプリ 中学講座』における E2E Test の運用と計測による改善 / Improved E2E testing through measurement
chaspy
0
4.5k
『スタディサプリ』における SLI/SLO の継続的改善 / Continuous improvement of SLI/SLO at StudySapuri
chaspy
1
3.3k
Other Decks in Technology
See All in Technology
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.1k
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
240
Dapr For Java Developers SouJava 25
salaboy
1
130
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
1.8k
Restarting_SRE_Road_to_SRENext_.pdf
_awache
0
160
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
930
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
150
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
200
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
110
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略 / phper-kaigi-2025-ryu
carta_engineering
0
690
SaaSプロダクト開発におけるバグの早期検出のためのAcceptance testの取り組み
kworkdev
PRO
0
440
Riverpod & Riverpod Generatorを利用して状態管理部分の処理を書き換えてみる簡単な事例紹介
fumiyasac0921
0
110
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
Faster Mobile Websites
deanohume
306
31k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Designing for Performance
lara
606
69k
4 Signs Your Business is Dying
shpigford
183
22k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Producing Creativity
orderedlist
PRO
344
40k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Transcript
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 RAGの簡易評価によるフィードバックサ イクル実践 Takeshi Kondo
(@chaspy) 現場で実践!RAG活用術 Lunch LT ― 運用して 分かった"つらみ"とその対策
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 Takeshi Kondo (@chaspy) Director
of Engineering StudySapuri K12 at Recruit Co., Ltd. 観葉植物 クラフトビール が好き 今日は友達増やしにきました! chaspy chaspy_ https://chaspy.me
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 スタディサプリプロダクトについて 国内小中高と 海外を担当しています
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 Agenda | 01 02
03 背景 RAG のフィードバックを得る方法 課題(つらみ)
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 簡易フィードバックの お願い ソースドキュメント へのリンク
社内の Feature Toggles 基盤のこと こういうのを作りました
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 アーキテクチャ 素敵な図はチームメンバーの aoi さん作のものをお借りしました。詳細はブログ
RAGを使って社内のGitHubリポジトリに散ら ばっているドキュメントを自然言語で検索できるSlack botを作りました - スタディサプリ Product Team Blog もご覧くださ い!
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 RAG の評価をする上での前提となる考え ➔ 現状ベータ版であり、ユーザからフィードバックを
高速に得て、改善を繰り返すかが重要 ➔ やりたいことは検索であり、ソースドキュメントに たどり着くことをゴールとしているので、高度な評 価指標は必要ない ◆ ※ドキュメントは monorepo で markdown + docsify な どの SSG でビルド & Amazon S3 で配信しているものが 多い
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 簡易的に評価する手法 • (1)回答に満足したかどうかを リアクションで促す
◦ 生成 AI のアウトプットに固定文を追加しているだけ • (2)ローカルで同一の API を実行し、求める検索結 果が得られたかどうかを確認する ◦ E2E でのリグレッションテスト相当 ◦ テストケースと回答のセット(質問/url)を csv で持つ
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (1)回答に満足したかどうかを リアクションで促す これです!!!
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (1)回答に満足したかどうかを リアクションで促す • 意外と押してくれる
◦ 将来、満足度を計測するのにも使えそう ◦ インターフェースが Slack だったからこその利点 ◦ チャンネルはウォッチしてるので満足していなさそうだっ たら @chaspy が回答していますw ▪ このタイミングで、ソースドキュメントの追加・編集をやっている
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (1)回答に満足したかどうかを リアクションで促す 回答は得られなかったが... 人間が回答しつつ、
ドキュメント追加
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (1)回答に満足したかどうかを リアクションで促す • フィードバックはタイミングと簡単さが重要
◦ google map の経路案内後の UI にヒントを得た ◦ タスクを終えて一息ついたタイミングで、押すだけ ▪ 逆にタスク中で邪魔なタイミングだと反感を買う
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (2)ローカルで同一の API を実行し、求める検索結果が 得られたかどうかを確認する
• 質問と期待するソース url のセットを csv で持つ ◦ Qall-k8sって何?,https://docs.xxx.com/xxxx/yyy/qall- k8s • 1行ずつ呼んで、api を呼び出し、最終回答に url が 含まれるかを確認するだけ
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (2)ローカルで同一の API を実行し、求める検索結果が 得られたかどうかを確認する
• ドキュメントが増えていくにつれて検索精度が落ち ることが予想される ◦ それに管理者側で事前に気付けるようにする ◦ 検索システムと割り切ることで、高度な評価をしない
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 課題(つらみ) • (1)コスト高い問題 •
(2)ソース url の伝播難しい問題 • (3)index 再生成うまくいってない問題
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (1)コスト高い問題 • 最初に日本リージョンを選んでしまったため、最新 モデルが使えるまで時間がかかる
◦ gpt-4-32k をしばらく使っていたが、冷静に考えると高い ▪ input ¥9.637 / 1000 token (Azure OpenAI) ◦ 調べると Input token 数がかなり多い ▪ 1回の問い合わせで10000token使っていた、つまり1回あたり100円
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (1)コスト高い問題 - 解決策 •
まず計測 - 回答時に token を出力 • 採用する検索結果を5件から3件に • 米国 Region で作り直そうと思ってたら先週日本 Region でも gpt-4o 使えるように ◦ ¥0.8031 / 1000 input token, 1/10 以下に • 最初から最新モデルが使えるリージョンで作ろう
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (2)ソース url の伝播難しい問題 ①
Metadata に url を付 与 ② field mapping を設定 ③ URL も返却せよと指示 しかし回答結果は不安定...
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (2)ソース url の伝播難しい問題 ③
URL も返却せよと指示 ->なくせた ちゃんとAPI Response 見ましょう リクエストボディで指定しないとレスポンスボデ ィに url は含まれてなかった! {“parameters”: { "fieldsMapping": {"urlField": "customUrl"}, }
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 (3)index 再生成うまくいってない問題 (未解決) •
当時試行錯誤していた際、blob のメタデータに付与した url が 間違っていたり、null のままだったりした • その場合、indexing すると別の index が生成されてしまう • index の Reset で解決するはずだが、AI Search で検索すると 過去の誤ったチャンクが引っかかってしまう...(なんで?) ◦ とはいえ E2E で実行して問題ないので、問題ないのかも
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 まとめ ➔ Slack 上で問い合わせる
RAG を使った Bot を作った ◆ 実質ドキュメント検索システムとして作っている ➔ 回答に をつけてもらったり、E2E でリグレッションテスト を実施することで評価している ◆ 簡易な評価でもフィードバックサイクルを回すのに十分役立っている ➔ 課題としてコストや、特有のソース url の伝播や、index の reset に関するつまづきを紹介しました
#RAG_findy 現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策 Thank you for listening!
Takeshi Kondo (@chaspy) Director of Engineering StudySapuri K12 at Recruit Co., Ltd. 今日紹介した課題は LT 発表決まってか ら解決しました!LT 駆動進捗 chaspy chaspy_ https://chaspy.me