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
Slackbot × RAG で実現する社内情報検索の最適化
Search
howdy39
October 02, 2024
Technology
2
390
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
October 02, 2024
Tweet
Share
More Decks by howdy39
See All by howdy39
AI新時代 情シスが向き合うべきAI活用戦略
howdy39
0
59
GAS x スプレッドシート x Looker Studio を組み合わせたデバイス管理 / DeviceMangent with GAS, SpreadSheet, Looker Studio
howdy39
0
1.1k
ChatGPTを使った 社内アシスタントBOTを作りました / ChatGPT Assistant Bot
howdy39
0
540
WebPagetestで始めるパフォーマンス計測 / Performance measurement starting with WebPagetest
howdy39
4
570
Storybookを用いたVue.js共通コンポーネント開発との戦い / stores-fights-storybook
howdy39
5
8.4k
gas-webpagetestで パフォーマンス計測を始めよう / get-started-measuring-performance-with-gas-webpagetest
howdy39
0
2.3k
Promise
howdy39
1
300
カラーユニバーサルデザイン / color universal design
howdy39
0
770
Geolocation API
howdy39
0
98
Other Decks in Technology
See All in Technology
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
110
신뢰할 수 있는 AI 검색 엔진을 만들기 위한 Liner의 여정
huffon
0
510
Platform Engineering ことはじめ
oracle4engineer
PRO
8
750
運用イベント対応への生成AIの活用 with Failure Analysis Assistant
suzukyz
0
190
組み込みLinuxの時系列
puhitaku
3
870
SREの前に
nwiizo
10
2.2k
End of Barrel Files: New Modularization Techniques with Sheriff
rainerhahnekamp
0
260
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
350
事業者間調整の行間を読む 調整の具体事例
sugiim
0
2.1k
スプリントゴールにチームの状態も設定する背景とその効果 / Team state in sprint goals why and impact
kakehashi
2
130
AI長期記憶システム構築のための LLMマルチエージェントの取り組み / Awarefy-LLM-Multi-Agent
iktakahiro
2
270
福岡新卒エンジニアの会
teba_eleven
1
170
Featured
See All Featured
How GitHub (no longer) Works
holman
310
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
We Have a Design System, Now What?
morganepeng
50
7.2k
Statistics for Hackers
jakevdp
796
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
108
49k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
Adopting Sorbet at Scale
ufuk
73
9.1k
Faster Mobile Websites
deanohume
304
30k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Transcript
Slackbot × RAG で実現する社内情報検索 の最適化 STORES 株式会社 中野 達也 1
自己紹介 STORES 株式会社 IT本部 シニアマネージャー 中野 達也@howdy39 SIerやフリーランスでソフトウェアエンジニア →(STORES)フロントエンドエンジニア →(STORES)情シス
2 2
どんな Slackbot をつくってるの? どのような仕組み? RAGのノウハウを紹介 目次 3
どんな Slackbot をつくってるの? 4
Slackで質問を投げかけると社内のドキュメントを読み込んで回答してくれるBOTを作成 5 5
BOTがあることで、ドキュメントを探すコストを下げられる 6 6 BOTがあることで、ドキュメントを探すコストを下げられる ヘルプデスク工数のコスト
どのような仕組み? 7
RAGで実現 8 8 ベクトル情報 を登録・更新 ・削除 Embedding (ベクトル 化) Webhookで
記事情報を送 信 質問する 実行 ベクトルで記 事を検索 Embedding (ベクトル 化) 記事内容を入 れて質問 回答結果を返 す 記事を 作成・更新・ 削除
RAGはフローが大きく2つにわかれるのでどこの話をしているかのイメージが大事 9 9 ベクトル情報 を登録・更新 ・削除 Embedding (ベクトル 化) Webhookで
記事情報を送 信 質問する 実行 ベクトルで記 事を検索 Embedding (ベクトル 化) 記事内容を入 れて質問 回答結果を返 す 記事を 作成・更新・ 削除 ベクトルDBへ格納 ベクトルDBから検索
「ベクトルDBへ格納」の詳細 10 10
「ベクトルDBから検索」の詳細 11 11
RAGのノウハウを紹介 12
ノウハウその1「初期データの反映」と「差分データの反映」の設計が大事 13 13 差分データの反映 初期データの反映 インポートするだけなので 簡単 難しい Webhookがあればいいが ない場合にどうするかの設
計が大事
ノウハウその2 マークダウンから無駄なデータを削ぎ落として登録 14 14 ここ!
ノウハウその2 マークダウンから無駄なデータを削ぎ落として登録 | コード例 15 15 imgタグを除去 brタグを削る 4つ以上の罫線の ”-”,
“=”, “〜” を3つに減らす 太字 “**” を除去 2つ以上のスペースを1つ に減らす 複数の改行を1つに減らす
記事の内容にもよるが 適当な記事をピックアップしたところ 文字数が 39,219→20,025 に削減 ノウハウその2 マークダウンから無駄なデータを削ぎ落として登録 | 削減効果 16
16 500文字ずつチャンクしたとしたら 分割数が80→40まで削減できた
ノウハウその3 データを収集するのが大事 17 17 ここ
ノウハウその3 データを収集するのが大事 | 例 18 18 これ
ノウハウその3 データを収集するのが大事 | 可視化 19 19 フィードバック メッセージを返却 (ランダム) フィードバック結果
のログをスプレッド シートに残す 利用状況とフィード バックをLooker Studioで可視化
ノウハウその4 Rerankを必ず入れる 20 20 ここ
ノウハウその4 Rerankを必ず入れる | チャンクを多く取ってRerankで絞る 21 21 100チャンクを Rerankして上位10 チャンクを取得 ※
類似度:高 topN=100 のチャンクを取得 ※ 類似度:低
Slackbot x RAG 環境を作り従業員の業務効率を向上させよう (ついでに情シスのヘルプデスク工数を削減する) RAGの全体像(登録フロー, 検索フロー)イメージしながら設計・ 実装・改善をしていくとよい まとめ 22
22
ご清聴ありがとうございました! 23