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.7k
DevIO 2023 ChatGPTに独自データを付与してQAボットを作成する方法
Najo
July 11, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
190
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
800
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
280
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
430
AHC061解説
shun_pi
0
370
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
2
120
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
5
390
Ruby x Terminal
a_matsuda
7
590
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1k
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
380
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
920
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
51k
Designing for humans not robots
tammielis
254
26k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
Utilizing Notion as your number one productivity tool
mfonobong
4
260
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Documentation Writing (for coders)
carmenintech
77
5.3k
sira's awesome portfolio website redesign presentation
elsirapls
0
190
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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. ハンズオンスタート︕