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
testcontainers のススメ
sgash708
1
120
たのしいparse.y
ydah
3
120
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
110
Recoilを剥がしている話
kirik
5
6.7k
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
3
300
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.6k
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
The Cult of Friendly URLs
andyhume
78
6.1k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Optimizing for Happiness
mojombo
376
70k
Code Review Best Practice
trishagee
65
17k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
GraphQLとの向き合い方2022年版
quramy
44
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
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. ハンズオンスタート︕