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
第132回 雲勉【オンライン】春の生成AI祭り
Search
iret.kumoben
April 11, 2024
Technology
1
110
第132回 雲勉【オンライン】春の生成AI祭り
下記、勉強会での資料です。
https://youtu.be/Ok0-qoNmBWQ
iret.kumoben
April 11, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
iret
0
15
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
45
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
41
第151回 雲勉 プロジェクトのドキュメントにおける課題をAmazon Bedrockで解決してみる
iret
0
57
第152回 雲勉 シームレスなマルチリージョンへの移行と検討 ~Amazon EKSとAWS Global Acceleratorを使用した環境〜
iret
0
48
第149回 雲勉 AWS ベストプラクティスの最新と実際 AWS Well-Architected
iret
0
82
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
46
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
58
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
iret
1
70
Other Decks in Technology
See All in Technology
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
1.5k
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
データ基盤の成長を加速させる:アイスタイルにおける挑戦と教訓
tsuda7
3
650
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
320
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
Bounded Context: Problem or Solution?
ewolff
1
210
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.4k
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
130
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
12
4.5k
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
スクラムのイテレーションを導入してチームの雰囲気がより良くなった話
eccyun
0
110
Featured
See All Featured
Code Review Best Practice
trishagee
66
17k
GraphQLとの向き合い方2022年版
quramy
44
13k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
Embracing the Ebb and Flow
colly
84
4.6k
It's Worth the Effort
3n
184
28k
Site-Speed That Sticks
csswizardry
3
370
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
A Tale of Four Properties
chriscoyier
158
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Transcript
第132回 雲勉【オンライン】 春の⽣成AI祭り
話すこと 2 • 自己紹介 • PR • 生成AIを活用すると何ができるか ◦ プロンプトとは
◦ プロンプトの具体例 ◦ プロンプトエンジニアリング • AIが知っていること知らないこと ◦ 自分専用!独自の知見をAIに教えるにはどうしたら良いか ◦ プロンプトへ回答に必要な情報を含める ◦ RAG(Retrieval-Augmented Generation) • さまざまな生成AIモデル(一部紹介) ◦ PaLM2 ◦ Gemini ▪ 読み方について ◦ Claude ▪ Claudeの種類 • AIを検証する方法(一部) ◦ Vertex AI Studio ◦ Vertex AI Workbench + Vertex AI SDK for Python ◦ BigQuery ML • AIを実装する方法(一部) ◦ Vertex AI SDK for Python ◦ LangChain ◦ Semantic Kernel • Slack botを使った具体例 ◦ 具体例1 シンプルにAIと対話する ▪ 構成図 ◦ 具体例2 iret.mediaを検索する ▪ 構成図 ◦ 具体例3 cloudpackの事例ページを検索する ▪ 構成図 ◦ 具体例4 画像に含まれている文字列を検査する ▪ 構成図 • LINE botを使った具体例 ◦ デモ • 実装する上で必要な用語 ◦ チャンクとオーバーラップ ◦ エンべディング • 生成AI利用時の注意点 • まとめ
経歴 • 2022年10月~現在 アイレット株式会社 MSP開発セクション • (2016年~2022年9月)某通信キャリアの子会社 ITスペシャリスト 直近の実績 •
2024年3月 LAPRAS OUTPUT AWARD • 2024年2月 Google Cloud Partner Tech Blog Challenge 2023 Cloud AI/ML部門 github,zenn,Qiita,X(旧Twitter),Facebook@ymd65536 経歴含め自己紹介 3
LAPRAS OUTPUT AWARD 4 LAPRAS株式会社 様からいただいた表彰! 執筆を続けたことが書籍出版や転職のチャンスを引き寄せた Kento.Yamadaさんのアウトプット戦略【LAPRAS OUTPUT AWARD
202401】 受賞インタビュー「Kento.Yamadaさん」
Google Cloud Partner Tech Blog Challenge 2023 Cloud AI/ML部門 5
Google Cloudの魅力を伝える年に一度のブログチャレンジ! 「Google Cloud」と「LINE bot」の2つをテーマにして受賞! 引用:Google Cloud Partner Tech Blog Challenge の 2023 年度受賞者発表
PR 6 コンピュータ・IT部門で1位 アプリケーション部門で1位 Amazon ベストセラー獲得 2023/9/2 発売 AWS認定 高度なネットワーキングー専門知識
(ANS-C01)完全対応テキスト 2024/03/25 発売
7 本編
生成AIを活用すると何ができるか 8 指示(プロンプト)とナレッジを元に新たな情報を生成する! ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ
指示(プロンプト) 回答 たとえば、質問回答やアイデアの壁打ちなどの用途がある。
プロンプトとは 9 生成AIにおいてはAIに対する指示書 命令 コンテキスト 入力データ 出力形式 モデルに実行して欲しいタスク タスクに関する追加の情報、追加の文脈 タスクを実行するための入力データ
どのような種類や形式で出力するか ※タスクの種類によって、プロンプトに含める要素を変更する
プロンプトの具体例 10 より具体的に書くことで良い結果を得られるようになる! 命令 コンテキスト 入力データ 出力形式 Hello Worldのコードを生成してください あなたはPythonのエンジニアです
POSTメソッドのエンドポイント Flaskとして動作可能な形式で あなたはPythonのエンジニアです。Flaskとして動作可能な形式で POSTメソッドのエンドポイントで動作するHello Worldのサンプルコードを書いてください。
プロンプトエンジニアリングとは 11 • 最適な結果を得るために、プロンプト(指示)を設計すること • 最適な結果を効率的に得ることでLLMをより効果的に活用できる 曖昧なプロンプト より適切な回答が得られるプロンプト かしこまりました。 以下は、C言語のサンプルコードです。
Hello Worldのサンプルコードを書いてください あなたはPythonが扱えるエンジニアです。 Pythonで実行できるHello Worldのサンプルコード を書いてください。 かしこまりました。 以下はPythonで動作するサンプルコードです。
AIが知っていること知らないこと 12 学習している範囲でしか回答ができないのでもちろん知らないこともある! ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ
アイレットの資格制度について教えてください。
AIが知っていること知らないこと 13 学習している範囲でしか回答ができないのでもちろん知らないこともある! ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ 学習内容
アイレットの資格制度について教えてください 。 「わかりません!」 資格制度に関する情報がない
AIが知っていること知らないこと 14 知らないことは学習させるか情報を提供してあげる必要がある! ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ ナレッジ 学習内容
アイレットの資格制度について教えてください 。 はい。AWSとGoogle Cloudで制度に関する 記載があります。 (以下略) AWSとGoogle Cloudで いくつか用意があります。
自分専用!独自の知見をAIに教えるにはどうしたら良いか 15 簡易的なやり方:プロンプトに回答に必要な情報を含める より本格的なやり方:RAG
プロンプトへ回答に必要な情報を含める 16 回答に必要な情報を指示(プロンプト)に含めて回答を得る方法 アイレットの資格制度にはAWSとGoogle Cloudで いくつか用意があります。 〜〜〜〜 上記の文脈を踏まえて以下の質問に回答してください。 アイレットの資格制度について教えてください。 AWSとGoogle
Cloud で制度に関する記載が あります。 (以下略)
RAG(Retrieval-Augmented Generation)とは 17 AI専用のナレッジベースをデータベースに持たせて回答を得る方法 アイレットの資格制度について教えてください 。 AWSとGoogle Cloud で制度に関する記載が あります。
(以下略) AWSとGoogle Cloudで いくつか用意があります 。 データベース データベースにアイレットの資格制度を記録しておく。
さまざまな生成AIモデル(一部紹介) 18 今回は3つほど紹介 • PaLM • Gemini • Claude
PaLM2とは 19 • Google が開発したLLMであり、PaLMの後継 • 4種類のモデル:Gecko、Otter、Bison、Unicorn • 25 を超える
Google の製品と機能に搭載 引用元:PaLM 2 のご紹介 https://japan.googleblog.com/2023/05/palm-2.html
Geminiとは 20 • Google DeepMindによって開発されたマルチモーダル大規模言語モデルのファミリー • Ultra、Pro、nanoの3つがある • Duet AIやBardはGeminiという名前に統一されている
• Gemini の由来は Core Contributors 6 人の頭文字 画像引用元: 創造力や生産性を高めましょう https://gemini.google.com/?hl=ja 引用元: Gemini: A Family of Highly Capable Multimodal Models https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf
「Gemini」の読み方 21 Googleの公式見解では「ジェミニ」 英語圏では「ジェミナイ」と呼ぶ人が多いようです。※ なお、本編では「ジェミニ」という呼び方で統一しております。 ※英語圏に住む知人に聞きました。
Claudeとは 22 • Anthropic社によって開発された大規模な言語モデルのファミリー • Amazon BedrockやVertex AIで提供 主な特徴 •
長文の扱いに長けている • 種類が豊富(次スライドで時系列とともに紹介) Claude ¥ Anthropic:https://www.anthropic.com/claude
Claudeの種類 23 Claude 1.3 Claude Instant Claude 2 Claude 3
Opus Haiku Sonnet 2023年3月14日 2023年7月11日 2024年3月4日 ※Claude Instant:比較的軽量かつ安価に利用できるようにしたClaude ※2024年3月7日:Google Cloud Vertex AI に Anthropic の Claude 3 モデルが登場
AIを検証する方法(一部) 24 生成AIアプリケーションを作る前に役立つサービスを紹介! • Vertex AI Studio • Vertex AI
Workbench • BigQuery ML
Vertex AI Studioとは 25 旧称 Generative AI Studio、Google Cloudで手軽にAIを体験できるサービス 主な特徴
• AIがまとめられているサービス • さまざまなAIモデルのプレイグラウンド • AIを調整しながらプロンプトを試せる • コードを書かなくてもよい
Vertex AI Workbench 26 Google Cloud上でJupyterLabを利用できるサービス 主な特徴 • Google Cloudの認証/認可を使ってGoogle
Cloudのサービスに対して手軽に接続できる • Google Cloud StorageやBigQueryと連携できる • Git連携 ※JupyterLab:ノートブックという単位でスクリプトおよびプログラムを実行できる環境
BigQuery ML 27 BigQueryからSQLを実行してVertex AIのAIモデルを呼び出す! 最大の特徴 • BigQueryにあるデータセットを使いつつ、AIモデルを呼び出せる! • SQLで完結するため、SDKを使わなくてもRAGの検証ができる!
※Vertex AIへのリモートエンドポイント(コネクション)を構築する必要があります。
AIを実装する方法(一部) 28 Google CloudとSlack BoltまたはLINE botを使って具体例を紹介します! 紹介するフレームワーク・SDK • Vertex AI
SDK for Python • LangChain • 補足:Semantic Kernel
Vertex AI SDK for Python 29 Google Cloudで提供されているVertex AI用の開発キット 主な特徴
• Google Cloud公式が提供するSDK • 公式ドキュメントが詳細に書かれている • 数行記述するだけでVertex AIのAPIを利用できる ※なお、パッケージ名にpreviewとあるものはプレビュー版の機能であるため 利用には注意が必要です。
LangChain 30 LLMモデルを提供している複数のサービスで利用可能なフレームワーク! 主な特徴 • Azure、AWS、Google Cloudなどで提供しているLLMを手軽に呼び出せる ◦ 呼び出すモデル名などを少し変えるだけで他のクラウドサービスにも対応できる •
「Chain」という仕組みを使うことでLLMに対し、さまざまな呼び出しができる • RAGも容易に表現できる
Semantic Kernel 31 Microsoftが提供するLLMアプケーションを開発するためのフレームワーク 主な特徴 • Azure Open AIやOpen AIを操作するためのフレームワーク
• .NETアプリケーションとの強力なコラボレーション 触ってみたい方はzennでブログを書いていますので試していただけますと幸いです。 https://zenn.dev/ymd65536/articles/semantic_kernel_v101_handson
Slack botを使った具体例 32 実際に作成したものをいくつか紹介します!(Geminiを利用) • 具体例1:シンプルにAIと対話する • 具体例2:iret.mediaを検索する • 具体例3:cloudpackの事例ページを検索する
• 具体例4:画像に含まれている文字列を検査する
具体例1 シンプルにAIと対話する 33
具体例1 シンプルにAIと対話する 34 回答に必要な情報を与えない 右のように「山田顕人」を知らない。 また、わからないことを「わからない」と言うように 指示を受けていないので間違えた情報を返します。
具体例1 シンプルにAIと対話する 35 回答に必要な情報を与える 👈左のように質問をすると 上記のような回答を返します。
具体例1 シンプルにAIと対話する(構成図) 36
具体例2 iret.mediaを検索する 37 iret.mediaの内容を元に応答を取得する。 参照したリンク:アイレット広報通信2月号 👈左のように質問をすると 上記のような回答を返します。
具体例2 iret.mediaを検索する(構成図) 38
具体例3 cloudpackの事例ページを検索する 39 特定のサービスで事例を検索して要約する。 上記のように質問すると 右のような回答を返します。
具体例3 cloudpackの事例ページを検索する(構成図) 40
具体例4 画像に含まれている文字列を検査する 41 画像をチェックして秘匿情報が含まれていないかチェックする 上記のように画像を添付すると右のような回答を返します。 ※iret.mediaで紹介しています:https://iret.media/94023
具体例4 画像に含まれている文字列を検査する(構成図) 42
LINE botのデモ 43
LINE botを使った具体例(構成図) 44
補足:LINE botの作り方 45 zenn に作り方を載せているので興味のある方は覗いてみてください! [RAG]最近読んだ本を教えてくれるLINE botをGemini Proを使って作成してみた https://zenn.dev/ymd65536/articles/recently_read_books_bot
実装する上で必要な知識 46 おさえておくと実装が捗る用語 • チャンク • オーバーラップ • エンべディング
チャンクとオーバーラップ 47 文字列の分割する:チャンク、分割した文字列のつなぎ目を作る:オーバーラップ 文章を分割(チャンク)するだけだと、分割した文章同士の文脈を補完できない。 チャンクした文章毎に文章の一部を足して文脈を補完(オーバーラップ)する必要がある。 文章A 文章B 文章C 文章A 文章Bの冒
頭 文章Aの冒 頭文章B 文章Bの冒 頭 文章C 文 章 チャンク オーバラップ
エンべディング 48 入力した文章をAIが理解できるようにするための変換処理 文章A 文章B 文章C 文章A 文章Bの冒 頭 文章Aの冒
頭文章B 文章Bの冒 頭 文章C チャンク オーバラップ 文 章 ベクトル エンべディング 原則としてAIは人間の書いた文字列を数値でしか認識できない。 よって文字列を読み取れる数値、ベクトル値として変換する必要がある。
生成AI利用時の注意点 49 コストやセキュリティは大事だけども、ここではもう少し視野を広げて。。。 生成AIを扱ううえではクラウドネイティブ特有の問題だけでなく、さまざまな問題に直面します。 具体的には以下の問題です。 • 著作権の問題 ◦ 例)許可なく他人の著作物をAIに学習させて、類似の作品などを生成して販売するなどの行為 ▪
※AIと著作権(文化庁): https://www.bunka.go.jp/seisaku/chosakuken/pdf/93903601_01.pdf ◦ ※詳しくは法律の専門家に聞くようにしてください • 道徳や倫理に反するものを生成してしまう問題 ◦ 例)暴力的、性差別的、人種差別的などの表現をするという危険性 • 事実無根の回答を生成してしまう問題 ◦ 例)山田顕人はどんな人物か 回答:山田顕人は1990年9月13日生まれ、端正な顔立ちと高い演技力で知られる有名な俳優である 。
まとめ 50 今回は春の生成AI祭り • AIを使えば、指示(プロンプト)と多くのナレッジを元に新たな情報を生成できる ◦ ただし、わからないことは「わからない」と返すようにお願いしないとデタラメな内容を回答するよ! ◦ 指示(プロンプト)をしっかり書かないといけないよ! •
知らない情報について質問する ◦ プロンプトに質問に関連する情報を渡すかもしくはRAGを構成すると回答してくれるようになるよ! • AIアプリケーションを構築する際に便利なフレームワークが複数存在する ◦ LangChainやVertex AI SDK for Pythonを使った具体例をいくつか見たよ! • 実装に必要な用語がある ◦ チャンクやオーバーラップ、エンべディングがあるよ! • 生成AIの利用には注意点がある ◦ 法律や倫理に気をつけつつ、根拠のある回答を得られるように工夫する必要があるよ!
51 おわり