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 practice through simplified assessment of RAGs
Search
Takeshi Kondo
July 11, 2024
Technology
2
1.7k
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
SRE の考えをマネジメントに活かす / applying SRE ideas to management
chaspy
7
3k
定量データと定性評価を用いた技術戦略の組織的実践 / Systematic implementation of technology strategies using quantitative data and qualitative evaluation
chaspy
9
1.2k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
1.3k
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
1.2k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
7k
自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills
chaspy
1
3.6k
『スタディサプリ 中学講座』における E2E Test の運用と計測による改善 / Improved E2E testing through measurement
chaspy
0
3.5k
『スタディサプリ』における SLI/SLO の継続的改善 / Continuous improvement of SLI/SLO at StudySapuri
chaspy
1
2.5k
ポストモーテム運用を支える文化と技術 / Culture and Technology Supporting Postmortem Operations
chaspy
2
1.6k
Other Decks in Technology
See All in Technology
Cosense(旧Scrapbox)で実現するコンテンツ管理画面
akiroom
1
1.7k
React 研修 (2024)
recruitengineers
PRO
34
12k
エンジニアリングが好きな私たちのためのエンジニアリングマネジャー入門 / Engineering management for the rest of us
iwashi86
21
4.1k
現代的システム開発概論 2024
recruitengineers
PRO
88
31k
AWS CloudShell全機能 〜 CLI活用のススメ / 20240821-nri-aws-cloudshell
opelab
2
310
StoreKit 2によるモダンなアプリ内課金
0si43
0
220
プロダクトの正しい「やめ方」/ How to make decision to stop developing product
ohageeq
1
130
『実践オブジェクト指向設計』および『実践データベース設計』事前課題
recruitengineers
PRO
1
2.1k
TypeScript入門 2024
recruitengineers
PRO
21
13k
ラクスCTOが語る顧客視点を重視したプロダクト開発 / RAKUSTechCon2024_Kude
rakus_dev
0
200
クラウドサイン視認性改善PJTの裏側
bengo4com
1
410
Design and build about DataOps hands-on
shumpei3
2
560
Featured
See All Featured
Being A Developer After 40
akosma
81
580k
The Cult of Friendly URLs
andyhume
75
5.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
26
8.8k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Agile that works and the tools we love
rasmusluckow
327
20k
Navigating Team Friction
lara
182
13k
GitHub's CSS Performance
jonrohan
1027
450k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Designing the Hi-DPI Web
ddemaree
277
34k
Scaling GitHub
holman
458
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
29
2.2k
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