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
150
第132回 雲勉【オンライン】春の生成AI祭り
下記、勉強会での資料です。
https://youtu.be/Ok0-qoNmBWQ
iret.kumoben
April 11, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
21
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
24
第169回 雲勉 AWS WAF 構築 RTA
iret
0
34
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
36
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
44
第166回 雲勉 コードを読んで理解する AWS Amplify Gen2 Backend
iret
0
44
第165回 雲勉 Google Agentspace について
iret
0
46
第164回 雲勉 Agent Development Kit と MCP Toolbox for Databases で MCP 連携してみた
iret
1
93
第163回 雲勉 CircleCIで複数リポジトリ間のパイプラインを連携する
iret
1
40
Other Decks in Technology
See All in Technology
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
34
16k
GISエンジニアよ 現場に行け!
sudataka
1
140
MCPサーバーを活用したAWSコスト管理
arie0703
0
110
JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer for CLI で作ってみた話
kazzpapa3
0
110
サイボウズフロントエンドの横断活動から考える AI時代にできること
mugi_uno
1
270
Kiro と Q Dev で 同じゲームを作らせてみた
r3_yamauchi
PRO
1
110
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
590
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
380
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
100
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
260
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
160
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
190
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.7k
Into the Great Unknown - MozCon
thekraken
40
2k
For a Future-Friendly Web
brad_frost
179
9.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.3k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
GraphQLとの向き合い方2022年版
quramy
49
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Fireside Chat
paigeccino
39
3.6k
What's in a price? How to price your products and services
michaelherold
246
12k
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 おわり