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
580
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
October 02, 2024
Tweet
Share
More Decks by howdy39
See All by howdy39
AI新時代 情シスが向き合うべきAI活用戦略
howdy39
0
190
GAS x スプレッドシート x Looker Studio を組み合わせたデバイス管理 / DeviceMangent with GAS, SpreadSheet, Looker Studio
howdy39
3
1.6k
ChatGPTを使った 社内アシスタントBOTを作りました / ChatGPT Assistant Bot
howdy39
0
700
WebPagetestで始めるパフォーマンス計測 / Performance measurement starting with WebPagetest
howdy39
4
700
Storybookを用いたVue.js共通コンポーネント開発との戦い / stores-fights-storybook
howdy39
5
8.8k
gas-webpagetestで パフォーマンス計測を始めよう / get-started-measuring-performance-with-gas-webpagetest
howdy39
0
2.5k
Promise
howdy39
1
390
カラーユニバーサルデザイン / color universal design
howdy39
0
960
Geolocation API
howdy39
0
110
Other Decks in Technology
See All in Technology
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.2k
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
130
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
910
어떤 개발자가 되고 싶은가?
arawn
1
220
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.5k
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.2k
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.5k
RemoteFunctionを使ったコロケーション
mkazutaka
1
160
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
310
Dify on AWS 環境構築手順
yosse95ai
0
170
実践マルチモーダル検索!
shibuiwilliam
1
440
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
14
82k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
Writing Fast Ruby
sferik
630
62k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Visualization
eitanlees
150
16k
Making Projects Easy
brettharned
120
6.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Designing for humans not robots
tammielis
254
26k
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