見出し画像

乱立する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 コンソールにはどのような機能が用意されているのか、ざっと見ていきましょう。

図 1-19  左側のメニューリストは「×」で閉じられる。また「≡」アイコンで呼び出せる。

例について

 「例」は、基盤モデルを利用するサンプルをまとめたものです。さまざまな使い方についてのサンプルがまとめられています。
 ただし、これは「プログラミングのサンプル」というわけではありません。どちらかというと、基盤モデルで使うプロンプトの例と考えたほうがいいでしょう。用途ごとに「こういう場合のプロンプトの例」とそのAPI 利用の例がまとめられています。

図 1-20  「例」には、プロンプトの例がまとめられている。

プロバイダーについて

 各モデルのプロバイダーの説明です。Bedrock では、提供されている基盤モデルの供給元・開発元を「プロバイダー」と呼んでいます。このプロバイダーごとに整理したのが「プロバイダー」です。
 ここにはBedrock でサポートしているプロバイダーが並んでおり、ここで調べたい項目を選択すると、そのプロバイダーと、プロバイダーが提供するモデルについての説明が現れます。

図 1-21  「プロバイダー」にはプロバイダーとモデルの説明がまとめられている。

ベースモデルについて

 「ベースモデル」では、Bedrock に用意されているモデルの一覧が用意されています。ここには検索フィールドもあり、特定のモデルを検索したり、またプロバイダーやモデルごと、モデルの役割ごとに整理して表示させたりできます。
 表示されるモデルの名前をクリックすると、先ほどの「プロバイダー」に用意されていた各モデルの説明ページにジャンプします。

図 1-22  ベースモデルには利用可能なモデルがまとめられている。

カスタムモデルについて

 「カスタムモデル」は、モデルのカスタマイズに関するものです。基盤モデルでは、「ファインチューニング」という機能により、自身が用意した学習データを使って基盤モデルを訓練しカスタマイズできるものがあります。ここでは、モデルのカスタマイズの実行や、カスタマイズして作られたモデルの管理を行います。
 これは、実際にモデルのカスタマイズを行うようになるまでは使うことはないでしょう。

図 1-23  カスタムモデルでは、モデルのカスタマイズを管理する。

書籍目次

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

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