![見出し画像](https://assets.st-note.com/production/uploads/images/138226798/rectangle_large_type_2_4b5c51cb400b62623c29fd05bd9cd6b7.jpeg?width=1200)
乱立するAIモデルをすべて同じ方式で利用できる非常に野心的なサービスを解説!『Amazon Bedrock超入門』より 第4回 ~Bedrockとモデル(3)~
企業の基幹業務を支えるERPを理解するために、SAPの基礎知識からプロジェクトの進め方、ERPの運用に必要な業務知識まで基礎からわかりやすく解説した『Amazon Bedrock超入門』から書籍内容を抜粋してご紹介。第4回はChapter1「Amazon Bedrockを開始する」から「1-2 Bedrockとモデル(3)」です。
1-2 Bedrockとモデル
■ 基盤モデルを利用する
ここまでは、基本的にモデルの説明などを行うものでした。カスタムモデル以外は、特に設定らしいことを行うものもありません。
この他に、「プレイグラウンド」という機能や、モデルを実際に利用できるようにするための管理設定を行う機能などが用意されています。これらは、実際にBedrock で基盤モデルを利用する際に使うものです。
では、順に基盤モデルを使うための準備を整えていきましょう。まず最初に行うのは、モデル利用のリクエストです。基盤モデルを利用するためには、事前に利用のリクエストを行い、利用許諾を得る必要があります。
左側のメニューリストから「モデルアクセス」という項目を選択してください。モデルの一覧リストが表示されます。このリストには以下のような情報が表示されます。
![](https://assets.st-note.com/img/1713846390546-7KquIYWiHd.png?width=1200)
ここで重要となるのが「アクセスのステータス」です。これは、そのモデルの利用状況を示すものです。ここには、以下のいずれかが表示されます。
![](https://assets.st-note.com/img/1713846453975-M398yZGkIQ.png?width=1200)
おそらく、現時点では「リクエスト可能」「ユースケースの詳細は必須です」のいずれかが表示されているでしょう。「ユースケースの詳細は必須です」は、利用のためのリクエストを送信し、許可されればモデルが使えるようになります。
![](https://assets.st-note.com/img/1713846929106-ajoZKLyTmO.png)
モデルアクセスをリクエスト
では、モデルを利用するためのリクエストを行いましょう。リストの右上に見える「モデルアクセスを管理」というボタンをクリックしてください。モデルの利用に関する表示に切り替わります。
ここでは、各モデルごとにチェックボックスが項目の左端に表示されています。これが、利用するかどうかを表します。使いたいモデルのチェックをON にし、リストの一番下にある「モデルアクセスをリクエスト」というボタンをクリックすれば、モデルのリクエストが送信されます。
![](https://assets.st-note.com/img/1713847018889-wBhFVmO9hs.png)
では、実際にリクエストを行ってみましょう。ここでは、以下の項目のチェックをON にしていきます。
![](https://assets.st-note.com/img/1713847075413-7lWqrNInb6.png?width=1200)
なお、Amazon のモデルについては、初期状態でチェックがON になっているものもあるかもしれません。この場合は変更する必要はありません。
これらはいずれもリクエストを送ればすぐに使えるようになります。これらの項目のチェックをON にして、下部の「モデルアクセスをリクエスト」ボタンをクリックしてください。
![](https://assets.st-note.com/img/1713847125693-t2Y7HFrYvt.png?width=1200)
リクエストが送信され、モデルの利用許可の処理が開始されます。
しばらく待っていると、リクエストしたモデルのアクセスのステータスが「アクセスが付与されました」に変わっているでしょう。これで、そのモデルが利用可能になったことがわかります。
アクセスが付与されたモデルがないと、Bedrock の機能はすべて使えません。必ず、使いたいモデルが「アクセスが付与されました」に変わっていることを確認してください。
![](https://assets.st-note.com/img/1713847191911-Ifd6tDrkgM.png?width=1200)
Anthropicの「ユースケースの詳細を送信」について
「モデルアクセスをリクエスト」に表示されていたモデルの中で、Anthropic だけは「ユースケースの詳細を送信」というボタンが表示されています。これは、Anthropic のモデルを使うためには、利用に関する情報を送信しなければいけない、ということです。
この「ユースケースの詳細を送信」ボタンをクリックすると、画面にフォームが現れます。ここで利用者と用途に関する入力を行い、送信すると、その内容をチェックし、許可するかどうかが決まります。これは、その他のもの(チェックをON するだけで使えるようになったもの)と異なり、場合によっては利用が許可されないこともあります。許可されれば、他のモデルと同様にモデルを利用できるようになります。
なお、本書執筆時(2024 年1 月)の時点で、Claude のモデルは1.3 ~ 2.1 が提供されていますが、1.3 は2024 年2 月中に非推奨モデルとなり、近い将来使われなくなる予定です。利用する場合は、Claude 2 以降のバージョンを利用するようにしましょう。
![](https://assets.st-note.com/img/1713847310821-o3kUe3Smpk.png)
書籍目次
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つの生成モデル