9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

株式会社オーイーシーAdvent Calendar 2023

Day 16

Amazon Bedrock で「生成AIのチャット、画像生成」をブラウザから試す

Last updated at Posted at 2023-12-04

はじめに

AWS は様々な AI サービスを提供しています

そして、それらのサービスはブラウザから簡単に試せるようになっています

サービス 機能 お試し記事 Elixir 実装例
Transcribe 音声の文字起こし(音声認識) 参照 参照
Polly 文書の読み上げ(音声合成) 参照 参照
Lex チャットボット 参照 Coming Soon...
Translate 翻訳 参照 参照
Rekognition 画像認識
顔認識
参照
参照
参照
Textract 画像からの表データ読込 参照 参照
Bedrock 生成AIによるチャット、画像生成 参照 参照

本記事では AWS の生成AIサービス Bedrock をブラウザから試してみます

Amazon Bedrock とは

Amazon Bedrock は 各種 AI 企業が構築した生成 AI モデル(FM = Foundation Model = 基盤モデル)をカスタマイズしたり、アプリケーションから簡単に呼び出せるようにしたサービスです

Amazon Bedrock の使い途(ユースケース)

Amazon Bedrock は 2023年12月現在、以下の基盤モデルを選択可能になっています

プロバイダー
(基盤モデルの提供元)
基盤モデル 用途 東京リージョン
AI21 Labs Jurassic-2 Ultra テキスト -
AI21 Labs Jurassic-2 Mid テキスト -
Amazon Titan Embeddings G1 - Text ベクトル化 OK
Amazon Titan Text G1 - Lite テキスト -
Amazon Titan Text G1 - Express テキスト OK
Amazon Titan Image Generator G1 画像 -
Amazon Titan Multimodal Embeddings G1 ベクトル化 -
Anthropic Claude テキスト -
Anthropic Claude Instant テキスト OK
Cohere Command テキスト -
Cohere Command Light テキスト -
Cohere Embed English ベクトル化 -
Cohere Embed Multilingual ベクトル化 -
Meta Llama 2 Chat 13B テキスト -
Meta Llama 2 Chat 70B テキスト -
Meta Llama 2 13B テキスト -
Meta Llama 2 70B テキスト -
Stability AI SDXL 0.8 画像 -
Stability AI SDXL 1.0 画像 -

東京リージョン列が「OK」になっているもののみ、東京リージョンから使用可能です

もし「海外のデータセンターを使ってはならない」というような要件がある場合には注意しましょう

また、プロバイダー毎に契約内容に違いがある点も注意しましょう

他の生成 AI サービスと違って、多くのプロバイダー、モデルを選択できることが強みですね

また、当然 AWS 上でシステムを組んでいる場合、他サービスよりも連携しやすいことも魅力です

Amazon Bedrock は以下のような用途に使用可能です

  • 生成 AI とのチャット
  • 生成 AI による画像生成
  • 生成 AI による全文検索

同じチャットであっても、ユーザーから一律同じ項目の回答が欲しい場合には Lex を使いましょう

Amazon Bedrock の料金

AWS の料金は基本的に従量課金制です

Bedrock ではプロバイダー、モデル毎に料金が変わります

テキストのモデルでは入出力のトークン数(単語単位)、画像モデルでは生成した画像のサイズ、枚数、品質で課金されます

Amazon Titan バージニア北部リージョンの場合

  • Titan Text – Lite
    • $0.0003 / 1,000 入力トークン
    • $0.0004 / 1,000 出力トークン
  • Titan Text – Express
    • $0.0008 / 1,000 入力トークン
    • $0.0016 / 1,000 出力トークン
  • Titan Image Generator (標準品質)
    • 512 * 512: $0.008 / 枚
    • 1024 * 1024: $0.01 / 枚
  • Titan Image Generator (高品質)
    • 512 * 512: $0.01 / 枚
    • 1024 * 1024: $0.012 / 枚

後で紹介する Anthropic の Claude の場合は以下のようになっています

  • Claude Instant
    • $0.00163 / 1,000 入力トークン
    • $0.00551 / 1,000 出力トークン
  • Claude
    • $0.00800 / 1,000 入力トークン
    • $0.02400 / 1,000 出力トークン

Amazon Titan より高額にはなりますが、日本語にも対応しているのが強力です

また、 Bedrock では上記のような「オンデマンド」(使った分だけ)の課金方法以外に、「プロビジョンド」(一定の性能で使った時間分)の課金が可能になっています(一部の基盤モデルが対応)

「プロビジョンド」の場合、1時間、1モデルユニット(1分あたりの入出力トークン数制限)あたり以下のような金額になります

モデル名 期間を定めない 1ヶ月契約 6ヶ月契約
Titan Text Lite $7.10 $6.40 $5.10
Titan Text Express $20.50 $18.40 $14.80
Titan Image Generator 非対応 $16.20 $13.00
Claude Instant 非対応 $39.60 $22.00
Claude 非対応 $63.00 $35.00

当然、使用期間を長く契約した方がお得です

¥150/$ で30日間24時間使用した場合、日本円では以下のような金額になります

モデル名 期間を定めない 1ヶ月契約 6ヶ月契約
Titan Text Lite ¥766,800 ¥691,200 ¥550,800
Titan Text Express ¥2,214,000 ¥1,987,200 ¥1,598,400
Titan Image Generator 非対応 ¥1,749,600 ¥1,404,000
Claude Instant 非対応 ¥4,276,800 ¥2,376,000
Claude 非対応 ¥6,804,000 ¥3,780,000

1ヶ月で数十万円、数百万円になるため、契約時には注意しましょう
利用者、利用頻度が多い場合は「プロビジョンド」を選択した方が安くなるかもしれません

また、この記事では扱いませんが、モデルを自前データでカスタマイズすることも可能です

残念ながら、 Bedrock には無料利用枠が存在しません

注意しながら使いましょう

アカウント作成

Amazon Bedrock を使うためには、 AWS のアカウント作成が必要です

以下の公式手順に従って、アカウントを作成してください

クレジットカードと電話番号が必要になります

予めご用意ください

ブラウザからの文書分析

Amazon Bedrock への移動

AWS のマネジメントコンソールにログインすると、以下のような画面が表示されます

スクリーンショット 2023-11-26 9.59.09.png

この画面から最近使ったサービスなどにアクセスできるようになっています

上メニューにある検索ボックスに bed と入力してみましょう

スクリーンショット 2023-12-02 14.52.52.png

サービスの候補として Amazon Bedrock が表示されます

Amazon Bedrock をクリックしましょう
以下のような画面が表示されます

スクリーンショット 2023-12-02 14.54.42.png

リージョンの変更

左メニューから Model access を開いたとき、東京リージョンでは3種類しか基盤モデルが存在しません

スクリーンショット 2023-12-02 14.56.47.png

画像生成なども実行したいので、バージニア北部リージョンに変更しましょう

右上の「東京」をクリックして出てくるドロップダウンから「バージニア北部」を選択します

スクリーンショット 2023-12-02 14.58.11.png

バージニア北部では全てのモデルが選択可能です

スクリーンショット 2023-12-02 14.59.10.png

モデルアクセスの要求

最初の状態ではどのモデルも使えない状態です

モデルアクセスを要求し、使えるようにします

本記事では Amazon 提供のモデルについてアクセスを要求します

Base Models 一覧の右上にある Manage model access をクリックします

スクリーンショット 2023-12-02 15.03.37.png

各モデルの右端にある「EULA」は「End-User License Agreement = 使用許諾契約」です

クリックすると、個別の契約内容が確認できます

Amazon 提供のモデル場合、以下のような文言が表示されます

Your use of this Service is governed by the terms of the AWS Customer Agreement
(h9ps://aws.amazon.com/agreement) or other agreement with AWS governing your use of AWS
services, including specific terms that apply to this Service set forth in Service Terms
(h9p://aws.amazon.com/serviceterms).

AWS の規約に準じている、というような事が書かれています

契約内容を確認してから、使用したいモデルにチェックを付けます

スクリーンショット 2023-12-02 15.02.56.png

画像では Titan Text G1 - Lite を選択していますが、 Lite だとチャットができなかったので Titan Text G1 - Express を選択しまししょう

モデルによっては詳細な利用目的の入力を要求されます

最下部 Request model access をクリックします

スクリーンショット 2023-12-02 15.03.03.png

Amazon 提供モデルの場合、すぐに使用できるようになります

スクリーンショット 2023-12-02 15.48.10.png

生成 AI をプレイグラウンドから試す

画像生成

左メニュー「Playgrounds」の「Image」をクリックします

画像生成のプレイグラウンド(遊び場 = 試しに使って結果を見る事ができる場所)が表示されます

スクリーンショット 2023-12-02 15.09.02.png

左上「Select model」をクリックし、使用するモデルを選択します

スクリーンショット 2023-12-02 15.10.31.png

Titan Image generator による画像生成の準備ができました

スクリーンショット 2023-12-02 15.11.57.png

「Generate」(生成)モードで左下にテキストを入力し「Run」をクリックすると、数分で画像が生成されます

以下の例は「Greetings Bumble Bee」=「挨拶する熊ん蜂」です

残念ながら日本語は正しく認識してくれません

日本語から画像生成したい場合は Translate と組み合わせましょう

スクリーンショット 2023-12-02 15.19.49.png

「Edit」(編集)モードで画像の一部を編集してみます

適当な画像をアップロードし、編集したい部分を紫色の枠で指定します

編集の内容を入力して「Run」をクリックすると、結果が表示されます

私の顔を女性にしてみました

Negative Prompt に「Glasses」と入力して、メガネはかけないようにします

編集前
スクリーンショット 2023-12-02 15.39.28.png

編集後
スクリーンショット 2023-12-02 15.39.50.png

テキスト

生成 AI によるテキスト生成を試します

左メニュー「Playgrounds」の「Text」をクリックします

スクリーンショット 2023-12-03 9.13.56.png

「Select model」をクリックします

「Amazon」|>「Titan Text G1 - Express v1」|>「On-demand」と選択し、「Apply」をクリックします

スクリーンショット 2023-12-03 9.14.07.png

残念ながら Titan は日本語に対応していないので、英語で語りかけてみましょう

日本語を使いたい場合、後述する Anthropic の Claude を使います

下のテキスト入力に言葉を入れて「Run」をクリックすると、答えてくれます

スクリーンショット 2023-12-03 9.20.12.png

Elixir でのナップサック問題の解法を教えてくれました

チャット

生成 AI とのチャットを試します

左メニュー「Playgrounds」の「Chat」をクリックします

スクリーンショット 2023-12-02 15.43.40.png

「Select model」をクリックします

「Amazon」|>「Titan Text G1 - Express v1」|>「On-demand」と選択し、「Apply」をクリックします

スクリーンショット 2023-12-02 15.46.35.png

下のテキスト入力に質問を入れて「Run」をクリックすると、答えてくれます

スクリーンショット 2023-12-03 9.11.52.png

りんごの美味しい食べ方を教えてくれました

日本語チャット

日本語を使いたい場合、 Anthropic の Claude を使用します

左メニューから「Model access」を開き、「Manage model access」をクリックしましょう

スクリーンショット 2023-12-03 9.26.00.png

デフォルトでは左側のチェックボックスが押せないようになっています

「Submit use case details」=「用途の詳細を提出する」をクリックすると以下のような入力フォームが表示されるので、自分の会社名、Webサイト、業種、対象ユーザー、利用目的を入力して「Submit」をクリックします

スクリーンショット 2023-12-03 9.26.25.png

すると、チェックボックスが入力可能になるのでチェックして最下部の「Save changes」をクリックします

スクリーンショット 2023-12-03 9.32.01.png

選択したモデルが「In Progress」の状態に変化します

スクリーンショット 2023-12-03 9.32.18.png

しばらくすると、「Access granted」の状態になり、使用可能になります

スクリーンショット 2023-12-03 9.38.38.png

左メニューから「Playgrounds」の「Chat」を開きましょう

「Select model」を開いて、「Anthropic」の「Claude 2.1」を選んで「Apply」をクリックします

スクリーンショット 2023-12-03 10.17.53.png

ちゃんと「銀河鉄道の夜」について日本語で受け答えしてくれました

スクリーンショット 2023-12-03 10.20.59.png

Elixir による実装

以下の記事で Elixir というプログラミング言語から Bedrock を呼び出し、 チャットや画像生成を実行しています

API の呼び出し方は共通なので、多言語での実装にも参考になると思います
是非、見てください
(そしてあわよくば Elixir の世界へ)

まとめ

Amazon Bedrock を使って生成 AI による画像生成やチャットを試す事ができました

今後もプロバイダーやモデルが増えていくと思われるので、楽しみですね

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?