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
ChatGPTを使った 社内アシスタントBOTを作りました / ChatGPT Assista...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
howdy39
May 12, 2023
Programming
0
780
ChatGPTを使った 社内アシスタントBOTを作りました / ChatGPT Assistant Bot
howdy39
May 12, 2023
Tweet
Share
More Decks by howdy39
See All by howdy39
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
2
640
AI新時代 情シスが向き合うべきAI活用戦略
howdy39
0
210
GAS x スプレッドシート x Looker Studio を組み合わせたデバイス管理 / DeviceMangent with GAS, SpreadSheet, Looker Studio
howdy39
3
1.7k
WebPagetestで始めるパフォーマンス計測 / Performance measurement starting with WebPagetest
howdy39
4
740
Storybookを用いたVue.js共通コンポーネント開発との戦い / stores-fights-storybook
howdy39
5
8.9k
gas-webpagetestで パフォーマンス計測を始めよう / get-started-measuring-performance-with-gas-webpagetest
howdy39
0
2.5k
Promise
howdy39
1
410
カラーユニバーサルデザイン / color universal design
howdy39
0
1k
Geolocation API
howdy39
0
120
Other Decks in Programming
See All in Programming
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.6k
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
110
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
110
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
20260315 AWSなんもわからん🥲
chiilog
2
140
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.8k
CSC307 Lecture 15
javiergs
PRO
0
240
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
830
AI 開発合宿を通して得た学び
niftycorp
PRO
0
100
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
570
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
Writing Fast Ruby
sferik
630
63k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Designing for Performance
lara
611
70k
Embracing the Ebb and Flow
colly
88
5k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
300
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
Ruling the World: When Life Gets Gamed
codingconduct
0
170
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
The SEO Collaboration Effect
kristinabergwall1
0
390
Transcript
ChatGPTを使った 社内アシスタントBOTを作りました STORES 株式会社 中野 達也 1
自己紹介 STORES 株式会社 IT本部マネージャー 職種:コーポレートエンジニア といいつつなんでも屋なので オフィス増床のプロジェクトマネージャー アドベントカレンダーのプロジェクトオーナー などもやってたりします 中野
達也 (@howdy39) 2 2
お店のデジタル化を支援する、5つのプロダクト。 ネットショップ開設・運営 お店のキャッシュレス オンライン予約システム POSレジ 店舗アプリ作成 STORES PRODUCTS 3 3
https://jobs.st.inc 絶賛採用中です! 4 4
どんなBOTをつくったの? ユーザー視点から仕組みを解説 事前にベクトルデータをDBに入れておく際のポイント 01 02 03 目次 5
どんなBOTをつくったの? 6
どんなBOT? Slackで質問を投げかけると社内のドキュメントを読み込んで回答してくれるBOT (バックオフィスや社内ITの情報のみ) 7 7
BOTがあることで、社員のドキュメントを探すコストが低下 8 8
ユーザー視点から仕組みを解説 9
ユーザー視点から仕組みを見ていこう パソコンがなにもし てないのにこわれま した パソコンがなにもし ていないのに故障し た場合は、情シスに 相談してください。 ここがよくわからな い
10 10 ユーザー BOT ChatGPT
実はプロンプトをいじってるだけ パソコンがなにもし てないのにこわれま した パソコンがなにもし ていないのに故障し た場合は、情シスに 相談してください。 下記の情報を使って簡潔に回 答してください。
情報:パソコンが故障した場合 は、情シスに相談。 質問:パソコンがなにもしてな いのにこわれました 回答: パソコンがなにもし ていないのに故障し た場合は、情シスに 相談してください。 11 11 ユーザー BOT ChatGPT
実際にChatGPT(3.5)に聞いてみる 12 12
情報部分に読み込ませたい内容を全部入れればいい? 下記の情報を使って簡潔に回答してくだ さい。 情報:読み込ませたい内容。読み込ませ たい内容。読み込ませたい内容。読み 込ませたい内容。読み込ませたい内容。 読み込ませたい内容。読み込ませたい 内容。 ・・・ ・・・
質問:パソコンがなにもしてないのにこわ れました 回答: プロンプトの情報部分 に読み込ませたい内容 を全部いれればいいの かな? ダメです。 ChatGPTに投げられる 文字数(トークン数)に 制限があるためです。 13 13
トークンについて(1/2) モデルによって違います が、APIで使うのに一般的 なChatGPT3.5は4,096 トークンが最大トークン数 です。 日本語だと大体2,700文字 です。 https://platform.openai.com/tokenizer 14
14
トークンについて(2/2) プロンプト全体で2,700文 字なので、質問などを含め たテキストも考慮すると、情 報に入れられるのは実質 2,000文字程度になりま す。 下記の情報を使って簡潔に回答してくだ さい。 情報:ここは2,000文字程度が限界
質問:パソコンがなにもしてないのにこわ れました 回答: 15 15
たくさんの記事からどうやって特定の文章(情報)を取得するの?(1/2) どういう仕組みで情報に入 れたい2,000文字をもって くるの? そこででてくるのが Embedding(埋め込み)で す。 16 16
Embedding(埋め込み)はざっくりいうと 文章の方向性をベクトルに変換すること。 パソコンが壊れた。 を例にすると ・パソコンに関するベクトル ・故障に関するベクトル を持ったベクトルに変換するイメージ 質問のベクトル情報と事前に登録しておい たドキュメントのベクトル情報が近い文章 を探せばOK
パソコンが故障した場合 は、情シスに相談。 たくさんの記事からどうやって特定の文章(情報)を取得するの?(2/2) 17 17 パソコン 故障 スマホが故障した場合 は〜 パソコンの交換申請は〜 パソコン、故障 に関するベクトル 情報を探せばいい
つまり全体の流れはこうなる(1/3) パソコンがなにもし てないのにこわれま した パソコンがなにもしてな いのにこわれました (Embedding) パソコン・故障の ベクトル情報 18
18 ユーザー BOT ChatGPT 質問をそのままEmbeddingする(ベクトル化する)
つまり全体の流れはこうなる(2/3) パソコン・故障の ベクトル情報 パソコンが故障した 場合は、情シスに相 談。 19 19 BOT ベクトル特化型DB
ベクトルをもとに文章を取得する
つまり全体の流れはこうなる(3/3) パソコンがなにもし てないのにこわれま した パソコンがなにもし ていないのに故障し た場合は、情シスに 相談してください。 下記の情報を使って簡潔に回 答してください。
情報:パソコンが故障した場合 は、情シスに相談。 質問:パソコンがなにもしてな いのにこわれました 回答: パソコンがなにもし ていないのに故障し た場合は、情シスに 相談してください。 20 20 ユーザー BOT ChatGPT 文章をプロンプトに入れる
事前にベクトルデータをDBに入れておく際のポイント 21
大きな文章(記事) 大きな文章を分割してベクトルDBに格納する 例)1,000トークンずつ の文章に分割 22 22 ベクトル特化型DB Embedding ・ベクトル ・文章
こうすることで複数の情報源を組み合わせることが可能に 下記の情報を使って簡潔に回答してください。 情報: ・1番目ベクトルが近い文章( 1,000トークン) ・2番目ベクトルが近い文章( 1,000トークン) ・3番目ベクトルが近い文章( 1,000トークン) 質問:パソコンがなにもしてないのにこわれました
回答: 最大4,096トークン 23 23
関連記事に2つの記事がでてたのはこれが理由 24 24
まとめ 25 25 仕組み プロンプトに情報欄を作ってそれを一緒に渡しているだけ 事前準備 ドキュメントを細切れにしてベクトルDBに入れておく必要がある 質問時 1. 質問内容をEmbeddingを使ってベクトル化する
2. 質問内容のベクトルを使ってベクトルDBから近い情報を取得 3. 情報を含めてChatGPTに質問を投げる
ご清聴ありがとうございました! 26