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
howdy39
May 12, 2023
Programming
860
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ChatGPTを使った 社内アシスタントBOTを作りました / ChatGPT Assistant Bot
howdy39
May 12, 2023
More Decks by howdy39
See All by howdy39
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
2
750
AI新時代 情シスが向き合うべきAI活用戦略
howdy39
0
250
GAS x スプレッドシート x Looker Studio を組み合わせたデバイス管理 / DeviceMangent with GAS, SpreadSheet, Looker Studio
howdy39
3
1.8k
WebPagetestで始めるパフォーマンス計測 / Performance measurement starting with WebPagetest
howdy39
4
770
Storybookを用いたVue.js共通コンポーネント開発との戦い / stores-fights-storybook
howdy39
5
9k
gas-webpagetestで パフォーマンス計測を始めよう / get-started-measuring-performance-with-gas-webpagetest
howdy39
0
2.6k
Promise
howdy39
1
430
カラーユニバーサルデザイン / color universal design
howdy39
0
1k
Geolocation API
howdy39
0
130
Other Decks in Programming
See All in Programming
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
180
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
0
250
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
4
2.8k
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
100
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
410
Oxlintはいいぞ(続)
yug1224
1
560
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
390
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
420
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
130
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
300
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
The SEO Collaboration Effect
kristinabergwall1
1
550
Docker and Python
trallard
47
4.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
エンジニアに許された特別な時間の終わり
watany
108
250k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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