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
690
WebPagetestで始めるパフォーマンス計測 / Performance measurement starting with WebPagetest
howdy39
4
680
Storybookを用いたVue.js共通コンポーネント開発との戦い / stores-fights-storybook
howdy39
5
8.7k
gas-webpagetestで パフォーマンス計測を始めよう / get-started-measuring-performance-with-gas-webpagetest
howdy39
0
2.5k
Promise
howdy39
1
390
カラーユニバーサルデザイン / color universal design
howdy39
0
950
Geolocation API
howdy39
0
110
Other Decks in Technology
See All in Technology
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
130
Findy Team+のSOC2取得までの道のり
rvirus0817
0
330
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
0
110
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
890
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
140
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
310
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
170
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
許しとアジャイル
jnuank
1
120
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
400
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Language of Interfaces
destraynor
162
25k
KATA
mclloyd
32
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Being A Developer After 40
akosma
91
590k
Gamification - CAS2011
davidbonilla
81
5.5k
Done Done
chrislema
185
16k
Writing Fast Ruby
sferik
629
62k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Speed Design
sergeychernyshev
32
1.1k
Context Engineering - Making Every Token Count
addyosmani
5
180
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