乱立するAIモデルをすべて同じ方式で利用できる非常に野心的なサービスを解説!『Amazon Bedrock超入門』より 第3回 ~Bedrockとモデル(2)~
企業の基幹業務を支えるERPを理解するために、SAPの基礎知識からプロジェクトの進め方、ERPの運用に必要な業務知識まで基礎からわかりやすく解説した『Amazon Bedrock超入門』から書籍内容を抜粋してご紹介。第3回はChapter1「Amazon Bedrockを開始する」から「1-2 Bedrockとモデル(2)」です。
1-2 Bedrockとモデル
■ Bedrockコンソールのページ
Bedrock コンソールには、左側にメニューとなるリストが表示され、そこから項目を選択するとそのページに移動するようになっています。このメニューは右上の× マークをクリックして閉じることができます(閉じた場合、左上に「≡」アイコンが表示され、これをクリックするとメニューを呼び出せます)。
では、 Bedrock コンソールにはどのような機能が用意されているのか、ざっと見ていきましょう。
例について
「例」は、基盤モデルを利用するサンプルをまとめたものです。さまざまな使い方についてのサンプルがまとめられています。
ただし、これは「プログラミングのサンプル」というわけではありません。どちらかというと、基盤モデルで使うプロンプトの例と考えたほうがいいでしょう。用途ごとに「こういう場合のプロンプトの例」とそのAPI 利用の例がまとめられています。
プロバイダーについて
各モデルのプロバイダーの説明です。Bedrock では、提供されている基盤モデルの供給元・開発元を「プロバイダー」と呼んでいます。このプロバイダーごとに整理したのが「プロバイダー」です。
ここにはBedrock でサポートしているプロバイダーが並んでおり、ここで調べたい項目を選択すると、そのプロバイダーと、プロバイダーが提供するモデルについての説明が現れます。
ベースモデルについて
「ベースモデル」では、Bedrock に用意されているモデルの一覧が用意されています。ここには検索フィールドもあり、特定のモデルを検索したり、またプロバイダーやモデルごと、モデルの役割ごとに整理して表示させたりできます。
表示されるモデルの名前をクリックすると、先ほどの「プロバイダー」に用意されていた各モデルの説明ページにジャンプします。
カスタムモデルについて
「カスタムモデル」は、モデルのカスタマイズに関するものです。基盤モデルでは、「ファインチューニング」という機能により、自身が用意した学習データを使って基盤モデルを訓練しカスタマイズできるものがあります。ここでは、モデルのカスタマイズの実行や、カスタマイズして作られたモデルの管理を行います。
これは、実際にモデルのカスタマイズを行うようになるまでは使うことはないでしょう。
書籍目次
chapter1 Amazon Bedrockを開始する
1-1 Bedrockの準備
生成AIモデルの現状
AIプラットフォームの登場
Bedrockとは?
AWSを開始する
AWSにサインインする
1-2 Bedrockとモデル
Bedrockコンソールを開く
Bedrockコンソールのページ
基盤モデルを利用する
モデルの利用は「プレイグラウンド」から
chapter2 プレイグラウンドの利用
2-1 テキスト生成のプレイグラウンド
プレイグラウンドとは?
テキストのプレイグラウンド
モデル利用時のプレイグラウンド画面
他のモデルを試してみよう
AIは、文の続きを考える
チャットのプレイグラウンドについて
「テキスト」と「チャット」の違い
2-2 プロンプトデザインを理解しよう
プロンプトの基本
プレフィックスとサフィックス
例を使って学習させる
指示を補足する
日本語でダメなら英語で!
2-3 パラメータの働き
パラメータの種類
ランダム性と多様性のパラメータ
長さのパラメータ
Repetitionsのパラメータ
パラメータの使い方
chapter3 イメージのプレイグラウンド
3-1 イメージ生成を利用する
イメージのプレイグラウンドについて
プロンプトを書いて描かせよう
イメージ生成のプロンプト
さまざまな場所と状況
どんなイメージがほしいのか?
イメージ生成のパラメータ
「イメージ」のパラメータの調整について
3-2 より高度なモデルの利用
SDXLとTitan Image Generator G1
Titan Image Generator G1の画面
バリエーションの作成
パラメータについて
イメージ生成はコストに注意!
3-3 イメージの編集
Editモードとは?
イメージを編集する
マスクプロンプトを使う
編集は万能ではない
chapter4 SageMakerノートブックの利用
4-1 SageMakerとポリシーの準備
SageMakerとは?
Studioとノートブック
SageMakerを開く
ロールを作成する
ロールにポリシーを追加する
4-2 ノートブックの作成
ノートブックを利用する
ノートブックを起動する
コードを実行する
アイコンバーとサイドパネル
Bedrockの機能を利用する
SageMakerでノートブックを終了する
SageMakerダッシュボードで確認する
chapter5 Pythonによるテキスト生成モデルの利用
5-1 Colaboratoryを準備しよう
JupyterとColaboratory
SageMakerノートブックとColabの違い
Colabでノートブックを作る
コードを書いて動かそう
セルの働き
アイコンバーとツール類
AWSルートユーザーのアクセスキーを作成する
5-2 Bedrockのテキスト生成モデルを使う
BedrockとBoto3
Boto3からBedrockクライアントを作成する
プロバイダーのモデル情報を得る
特定モデルの情報を得る
特定モードの基盤モデルを得る
「# @param」について
モデルへのアクセスはBedrockではない
5-3 Bedrock Runtimeでモデルにアクセスする
BedrockとBedrock Runtime
invoke_modelでモデルにアクセスする
Titan Text G1-Expressを利用する
Titanのパラメータを指定する
Jurassic-2を利用する
Jurassic-2からの応答
Jurassic-2のパラメータ設定
Claudeを利用する
Claudeからの応答
Claudeのパラメータ設定
モデルのAPI仕様について
chapter6 Pythonによるイメージ生成モデルの利用
6-1 SDXLによるイメージ生成
イメージ生成とSDXL
SDXLにアクセスする
SDXLの戻り値について
Base64データのファイル保存
パラメータを利用する
パラメータを指定してイメージ生成する
ネガティブプロンプトについて
6-2 Titan Image Generator G1の利用
Titan Image Generator G1にアクセスする
Titan Image Generator G1のパラメータ
6-3 イメージの編集
SDXLのイメージ編集
編集用のパラメータ
イメージのバリエーションを生成する
マスクイメージを使う
Titan Image Generator G1のイメージ編集
chapter7 生成モデルを使いこなす
7-1 生成モデルの様々な機能
ストリームを利用する
ストリームで応答を受け取る
チャット機能を実装する
7-2 ベンダー提供パッケージ
Jurassic-2のパッケージについて
ai21.Completionを利用する
複数の応答を得る
Claudeパッケージの利用
completions.createでアクセスする
チャットとして利用する
Claudeのストリーミング利用
Bedrockで提供されていない機能は使えない
chapter8 LangChainの利用
8-1 LangChainを使う
LangChainとは?
LangChainの準備を整える
LangChainでBedrockにアクセスする
パラメータの指定
8-2 LangChainでチャットを行う
チャットを利用する
チャットを使いこなす
チャットの連続実行
ConversationChainを利用する
8-3 テンプレートの利用
テンプレートの利用
PromptTemplateクラスの利用
テンプレートを使ってみる
チャットテンプレート「ChatPromptTemplate」
ファイルを要約する
関数で前処理・後処理を行う
RunnableSequenceの仕組み
関数とRunnableLambda
LangChainの世界はもっともっと広い!
chapter9 Python以外の環境におけるBedrock利用
9-1 curlによるBedrockの利用
HTTPアクセスとcurl
curlコマンドについて
Jurassic-2にアクセスする
Colabでcurlを実行する
Titan Text G1-Expressを利用する
SDXLでイメージを作成する
9-2 JavaScriptからBedrockを利用する
AWS JavaScript SDKについて
プロジェクトを作成する
Visual Studio Codeを利用しよう
JavaScriptからBedrockにアクセスする
Titan Text Express-G1を利用する
Claudeを利用する
SDXLでイメージを生成する
curlを利用してBedrockにアクセス
その他にもBedrock用パッケージはある!
chapter10 Embeddingとセマンティック検索
10-1 Embeddingとその利用
Embeddingとは?
Titan Embeddings G1-Textを使う
セマンティック類似性
コサイン類似度の関数を用意する
セマンティック類似性の関数を用意する
プロンプトどうしのセマンティック類似性を調べる
10-2 セマンティック検索
セマンティック検索とは?
用途に合うパソコンを選定する
検索プログラムを作る
セマンティック検索の用途
10-3 マルチモーダルEmbedding
マルチモーダルのEmbedding
マルチモーダルEmbeddingを使う
イメージとイメージのセマンティック検索
似ているイメージを検索する
テキストでイメージを検索する
Embeddingはもう1つの生成モデル
この記事が気に入ったらサポートをしてみませんか?