見出し画像

乱立するAIモデルをすべて同じ方式で利用できる非常に野心的なサービスを解説!『Amazon Bedrock超入門』より 第4回 ~Bedrockとモデル(3)~

企業の基幹業務を支えるERPを理解するために、SAPの基礎知識からプロジェクトの進め方、ERPの運用に必要な業務知識まで基礎からわかりやすく解説した『Amazon Bedrock超入門』から書籍内容を抜粋してご紹介。第4回はChapter1「Amazon Bedrockを開始する」から「1-2 Bedrockとモデル(3)」です。


1-2 Bedrockとモデル

■ 基盤モデルを利用する

 ここまでは、基本的にモデルの説明などを行うものでした。カスタムモデル以外は、特に設定らしいことを行うものもありません。
 この他に、「プレイグラウンド」という機能や、モデルを実際に利用できるようにするための管理設定を行う機能などが用意されています。これらは、実際にBedrock で基盤モデルを利用する際に使うものです。
 では、順に基盤モデルを使うための準備を整えていきましょう。まず最初に行うのは、モデル利用のリクエストです。基盤モデルを利用するためには、事前に利用のリクエストを行い、利用許諾を得る必要があります。
 左側のメニューリストから「モデルアクセス」という項目を選択してください。モデルの一覧リストが表示されます。このリストには以下のような情報が表示されます。

Amazon Bedrock超入門

 ここで重要となるのが「アクセスのステータス」です。これは、そのモデルの利用状況を示すものです。ここには、以下のいずれかが表示されます。

Amazon Bedrock超入門

 おそらく、現時点では「リクエスト可能」「ユースケースの詳細は必須です」のいずれかが表示されているでしょう。「ユースケースの詳細は必須です」は、利用のためのリクエストを送信し、許可されればモデルが使えるようになります。

図 1-24  「モデルアクセス」の表示。

モデルアクセスをリクエスト

 では、モデルを利用するためのリクエストを行いましょう。リストの右上に見える「モデルアクセスを管理」というボタンをクリックしてください。モデルの利用に関する表示に切り替わります。
 ここでは、各モデルごとにチェックボックスが項目の左端に表示されています。これが、利用するかどうかを表します。使いたいモデルのチェックをON にし、リストの一番下にある「モデルアクセスをリクエスト」というボタンをクリックすれば、モデルのリクエストが送信されます。

図 1-25  「モデルアクセスをリクエスト」でチェックをONにして利用をリクエストする。

 では、実際にリクエストを行ってみましょう。ここでは、以下の項目のチェックをON にしていきます。

Amazon Bedrock超入門

 なお、Amazon のモデルについては、初期状態でチェックがON になっているものもあるかもしれません。この場合は変更する必要はありません。
 これらはいずれもリクエストを送ればすぐに使えるようになります。これらの項目のチェックをON にして、下部の「モデルアクセスをリクエスト」ボタンをクリックしてください。

図 1-26  使いたいモデルをONにして「モデルアクセスをリクエスト」ボタンをクリックする。

 リクエストが送信され、モデルの利用許可の処理が開始されます。
 しばらく待っていると、リクエストしたモデルのアクセスのステータスが「アクセスが付与されました」に変わっているでしょう。これで、そのモデルが利用可能になったことがわかります。
 アクセスが付与されたモデルがないと、Bedrock の機能はすべて使えません。必ず、使いたいモデルが「アクセスが付与されました」に変わっていることを確認してください。

図 1-27  モデルのアクセスのステータスが「アクセスが付与されました」に変わったら、  使えるようになっている。

Anthropicの「ユースケースの詳細を送信」について

 「モデルアクセスをリクエスト」に表示されていたモデルの中で、Anthropic だけは「ユースケースの詳細を送信」というボタンが表示されています。これは、Anthropic のモデルを使うためには、利用に関する情報を送信しなければいけない、ということです。
 この「ユースケースの詳細を送信」ボタンをクリックすると、画面にフォームが現れます。ここで利用者と用途に関する入力を行い、送信すると、その内容をチェックし、許可するかどうかが決まります。これは、その他のもの(チェックをON するだけで使えるようになったもの)と異なり、場合によっては利用が許可されないこともあります。許可されれば、他のモデルと同様にモデルを利用できるようになります。

 なお、本書執筆時(2024 年1 月)の時点で、Claude のモデルは1.3 ~ 2.1 が提供されていますが、1.3 は2024 年2 月中に非推奨モデルとなり、近い将来使われなくなる予定です。利用する場合は、Claude 2 以降のバージョンを利用するようにしましょう。

図 1-28  Anthropicの「ユースケースの詳細を送信」ボタンを押すと、このようなフォームが現れる。

書籍目次

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つの生成モデル

この記事が気に入ったらサポートをしてみませんか?