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
4.4k
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
4.7k
定量データと定性評価を用いた技術戦略の組織的実践 / Systematic implementation of technology strategies using quantitative data and qualitative evaluation
chaspy
9
1.5k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
2
1.7k
「SLO Review」今やるならこうする / If I had to do the "SLO Review" again
chaspy
3
1.6k
開発者とともに作る Site Reliability Engineering / SREing with Developers
chaspy
10
7.6k
自己診断能力の獲得を目指して / Toward the acquisition of self-diagnostic skills
chaspy
1
4.4k
『スタディサプリ 中学講座』における E2E Test の運用と計測による改善 / Improved E2E testing through measurement
chaspy
0
4.1k
『スタディサプリ』における SLI/SLO の継続的改善 / Continuous improvement of SLI/SLO at StudySapuri
chaspy
1
3k
ポストモーテム運用を支える文化と技術 / Culture and Technology Supporting Postmortem Operations
chaspy
2
2.1k
Other Decks in Technology
See All in Technology
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Thoughts on Productivity
jonyablonski
67
4.3k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Happy Clients
brianwarren
98
6.7k
BBQ
matthewcrist
85
9.3k
Being A Developer After 40
akosma
86
590k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Teambox: Starting and Learning
jrom
133
8.8k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
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