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
DevIO 2023 ChatGPTに独自データを付与してQAボットを作成する方法
Search
Najo
July 11, 2023
Programming
0
2.6k
DevIO 2023 ChatGPTに独自データを付与してQAボットを作成する方法
Najo
July 11, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
もう僕は OpenAPI を書きたくない
sgash708
5
1.6k
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Spring gRPC について / About Spring gRPC
mackey0225
0
220
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
340
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
250
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
840
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
37
14k
Immutable ActiveRecord
megane42
0
140
Lottieアニメーションをカスタマイズしてみた
tahia910
0
130
ARA Ansible for the teams
kksat
0
150
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
How to Ace a Technical Interview
jacobian
276
23k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Transcript
2023/07 岩⼿テナージョン ChatGPTに独⾃データを付与して QAボットを作成する⽅法
©Classmethod, Inc. • ⾃⼰紹介 • 今⽇の流れ • LlamaIndex / LLMについての説明
• ハンズオン • Q and A ⽬次
©Classmethod, Inc. ࣗݾհ 新規事業統括部 Bizチーム 岩⼿ テナージョン • 趣味や技術検証を⽬的にコーディングを⾏います •
⽣成AIにハマっています(画像、動画なども含めて) • 何か新しいことを学ぶ時とコーディング⽀援などに ChatGPTを使うことが多いです。(ChatGPTスゴイ!!!)
©Classmethod, Inc. 今⽇の流れ 独⾃データ(PDFファイル)をLlamaindexに読み込ませて回答を得られることが Goalです。 想定受講者 • ChatGPTを使ったことがある • コーディング経験については初学者,または未経験
• 生成AIの業務活用に関心がある 到達⽬標 • LlamaIndexなどのLLM(Large Language Model)が何をやってい るかの概要を説明できる • 実際にドキュメントをLlamaIndexに読み込ませて回答を得る ことができる
©Classmethod, Inc. 前提 • Google Colaboratryを利⽤するため、Googleのアカウントが必要です。 • Open AIの API
Keyはスピーカーにて準備したものを利⽤いただきます (個⼈のものがあればそれでもOK / DEMOの間だけ利⽤可能なKeyです) • 前半10分程度で簡単なLLMとLlamaindexの説明を⾏い、後半20分ほどで ハンズオンの実施 + QAを⾏います。 • メールの利⽤ページポータルから該当するColabのNotebookを開きます ★⼀緒にメールからnotebookを開く作業を⾏いましょう︕
©Classmethod, Inc. Llama index / LLMについての説明
©Classmethod, Inc. Llama indexについての説明 - そもそもLLMってなに︖ LLM(Large language model)は、⽂章の処理が得意な機械学習(≒ AI)の
脳みそ(Model) 何がすごいのか︖ ⼈間っぽく幅広い様々なタスクを実⾏することができる • 質問に対して答えること • アイデアを考えること • 文章を作成すること 何が新しいのか︖ ⼤量のデータを学習して⼈間がチューニングすることで性能が格段に向上し た • めちゃくちゃ精度が高くて自然 • 汎用的なタスクが実行可能
©Classmethod, Inc. Llama indexについての説明 - Llama indexとは︖ Llama indexとはオープンソースのLLM⽤のライブラリです。⽣成AIにおいて独⾃データを活⽤した回 答を得たい時によく利⽤されます。
オープンソースであるため無料で 誰でも利⽤ができる ・多様なファイル形式に対応している ・Llama Hubから様々なLoaderの利⽤が可能
©Classmethod, Inc. Llama indexについての説明 - ChatGPTとの⽐較例 ChatGPT/GPTだけでは回答できない/ウソをついてしまう問題がLlamaIndexを利⽤することで解決できます(常 に100%正確ではないことに注意) 独⾃データを付与していないChatGPTでは不正 確な回答が出⼒される
独⾃データを付与した場合、正確な出⼒を得ることができる 回答︓Zennのコンテンツをエクスポートすることができます。記 事や本のコンテンツは・・・
©Classmethod, Inc. Llama indexについての説明 - ユースケースや活⽤例 ユースケース/活⽤例 利⽤データ 社内からの問い合わせに対する⼀次対応を⾏う ボットとして活⽤
社内のマニュアルや就業規則など 特定の領域に関するデータを付与 して、質問できるボットとして活⽤ 特定領域における規制や 法律に関わる情報 読むのが難しい⽂書情報を付与して、 情報検索やリサーチの効率化 特定企業の決算・IR情報 補助金や助成金などに関する情報 Llamaindexを利⽤することで問い合わせ対応や情報検索への時間を削減する ことができます。
©Classmethod, Inc. Llama indexについての説明 - 「学習」を⾏うのではなく「変換と検索」① Llamaindexの仕組みは独⾃データをまず読みやすい形へと変換を⾏います。 独⾃データ 分割されたデータ A
分割されたデータ B 分割されたデータ C 分割されたデータ D 分割する (ノードにする) No ⽂章の塊(ノード) 1 分割されたデータ A 2 分割されたデータ B 3 分割されたデータ C 4 分割されたデータ D 読み取りやすくする (Index化/ベクトル化)
©Classmethod, Inc. Llama indexについての説明 - 「学習」を⾏うのではなく「変換と検索」② 質問された内容に対して事前に準備したデータの内容と”どれだけ似ているか︖”を⽐較検索し て、回答を作成します*1。 ࣭ɿ000ʹ͍ͭͯڭ͑ͯ ฦɿ000˛˛˛Ͱɾɾ
No ⽂章の塊(ノード) 1 分割されたデータ A 2 分割されたデータ B 3 分割されたデータ C 4 分割されたデータ D 情報の検索を⾏い、 回答を⾃然⾔語で⽣成 *1 必ず正解を答えるわけではないため注意が必要
©Classmethod, Inc. Llama indexについての説明 - もう少し具体的になにを⾏っているか 質問︓OOOについて教えて 返答︓OOOは▲▲▲で・・ Embedding API
質問︓OOOについて教えて ⽂字列をベクトル(数値)に変 換する ベクトル データベース 変換したベクトル 類似している⽂章の⼀部 Completion API ⽂章の⼀部+質問の プロンプト 回答 処理の⼀例となりますが、以下のようにGPTとLlamaIndexは連携して処理を⾏っています。
©Classmethod, Inc. ここまで ”ざっくり” とイメージがつけばOKです︕ ハンズオンを実施しましょう︕
©Classmethod, Inc. ハンズオン
©Classmethod, Inc. ハンズオン実施の⽬的と⼿順 ⽬的 • 動作イメージをつかんでもらって、活⽤にいかしてほしい • 意外と簡単に実装が可能であることが伝わってほしい 実施⼿順 •
Google Colaboratryを開きます • 独⾃データをアップロードします(今回はダミーのデータを利⽤します) • Colabの内容を実⾏します • 質問してみて実際の動作を確認します • (もし時間が余れば)ファイル形式を変えての実⾏も⾏ってみましょう
©Classmethod, Inc. ハンズオンスタート︕