1
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?

はじめてのアドベントカレンダーAdvent Calendar 2024

Day 12

Amazon Bedrock IDE(プレビュー)のChat agent機能を触ってみる

Last updated at Posted at 2024-12-12

はじめに

先日、AWSの技術カンファレンスであるre:Invent 2024でAmazon Bedrock IDEがプレビューとして発表されました。
ざっくりとAWSの生成AIサービスであるAmazon Bedrockを使って、GUI上から簡単に生成AIアプリが開発できるサービスとのことです。
本記事では、Amazon Bedrock IDEの中でもChat agentの機能について、試してみたいと思います。

1. AWSが提供するAIサービス

本題のAmazon Bedrock IDEの説明に入る前に、AWSのAIサービスについて概要を説明します。

AWSのAI関連サービスは、大きく以下の2つ分類されます。

  • AI(人工知能)サービス:AIを活用して特定の技術課題を解決するためのサービス
  • ML(機械学習)サービス:機械学習を行い。AIモデル自体をカスタマイズするための環境を提供するサービス

image.png
引用:https://aws.amazon.com/jp/builders-flash/202401/awsgeek-ai-ml-services/

本記事でご紹介するAmazon Bedrock IDEは、MLサービスに該当します。
代表的なサービスとしては「Amazon SageMaker」や「Amazon Bedrock」があり、これらはAmazon Bedrock IDEにも密接に関係するので、簡単に説明します。

Amazon Bedrock

Amazon Bedrockは、様々なAIモデルをAPI経由で利用できるAWSのマネージドサービスです。

例えば、OpenAIのGPT-4oや、AnthropicのClaude 3.5 SonetといったAIモデルをAPI経由で呼び出し、自社のアプリケーションにAI機能を組み込むことができます。

AIモデルには、画像認識に特化したものや、テキスト生成が優れたものなど、多種多様な特性があります。Amazon Bedrockを使うことで、ビジネスのニーズに適切なAIモデルを選択し、アプリケーションに容易に組み込むことができます。

参考

Amazon SageMaker

Amazon SageMakerは、機械学習モデルの開発、トレーニング、デプロイを行うための統合プラットフォームを提供するAWSのマネージドサービスです。

機械学習モデルを作成し、実用化するまでには、一般的に以下のような工程を経ます。

  • ラベリング工程: データの準備とラベリング
  • 開発工程: モデルの開発
  • 学習工程: モデルのトレーニング
  • モデル変換工程: モデルの評価と最適化
  • モデル推論工程: モデルのデプロイと推論

image.png
引用:https://dev.classmethod.jp/articles/re-introduction-2022-sagemaker/

Amazon SageMakerは、これらの工程を効率的に実行するための各種ツールと環境を開発者に提供してくれます。

2. re:Invent2024でAmazon SageMaker Unified StudiとAmazon Bedrock IDEのプレビュー公開

先日、AWSの主催する技術カンファレンスであるre:Invent 2024が開催されました。
re:Inventの中で「Amazon SageMaker Unified Studi」と「Amazon Bedrock IDE」がプレビューとして公開されました。

Amazon SageMaker Unified Studio(プレビュー)

Amazon SageMaker Unified Studioは、機械学習(ML)モデルの開発、トレーニング、デプロイを行うための統合プラットフォームを提供するAWSのマネージドサービスです。

概要だけ見るとAmazon SageMakerとの違いが良くわからなかったのですが、どうやら他のAWSサービスとの連携が強化され、より便利なった統合プラットフォームのようです。

従来の Amazon SageMaker(Amazon SageMaker AI)でも機械学習(ML)の開発環境を提供しています。
大きな違いとしては、他のAWSサービスとシームレスな統合がある点です。
特に、Amazon Bedrock やデータ分析(Redshiftなど)との統合は、Amazon SageMaker AI では利用できませんでした。
引用:https://dev.classmethod.jp/articles/sagemaker-unified-studio/

参考

Amazon Bedrcok IDE (プレビュー)

Amazon Bedrock IDEは、生成AIアプリをGUI上から簡単に開発できるサービスです。
サービス自体は、Amazon SageMaker Unified Studioに統合されています。

その中でも今回は、Chat agentの機能を試します。
Chat agentを使用することで、複雑なコーディングを必要とせず、以下のようなアプリケーションをGUIから容易に作成できます。

  • ChatGPTのような対話型AIチャットボット
  • カスタマイズされた質問応答システム
  • 特定の知識を持つ専門的な対話エージェント

参考

3. 事前準備:Amazon SageMaker Unified Studioの設定

前述のとおり、Amazon Bedrock IDEはAmazon SageMaker Unified Studioに統合されています。そのため、Amazon Bedrock IDEを使用するには、まずAmazon SageMaker Unified Studioを利用できる状態にする必要があります。

3.1. Amazon SageMaker platformを開く

AWSマネジメントコンソールを開き、「Amazon SageMaker platform」のページを開きます。

image.png

3.2. ドメインを作成する

Unified Studioドメインを作成しますボタンを押します。

image.png

ドメインを作成の画面に遷移すると、既存VPCを選択するか新規VPCを作るか問われます。

image.png

VPCを作成ボタンを押すと、AWS CloudFormationの画面が開きます。
image.png

スタックのクイック作成ができるので、そのままスタックの作成ボタンを押します。
image.png

AWS CloudFormationは、AWSリソースの環境構築を設定ファイル (テンプレート) として作成し、設定ファイルから環境構築を自動化できるAWSサービスです。

CREATE COMPLETEになり、作成完了しました。ドメイン作成の画面に戻って、続行を選択します。
image.png

AWS IAM Identity Centerを有効にしている場合、どのユーザを使うか問われます。
任意のメールアドレスを指定して、ドメインを作成ボタンを押します。
image.png

ドメインが作れました。統合スタジオを開くボタンを押します。
image.png

3.3. Amazon SageMaker Unified Studioを開く

AWS IAM Identity Centerを有効にしていたので、SSOでサインインボタンを押します。
image.png

AWS IAM Identity Centerに登録された、任意のユーザでログインします。
image.png

Amazon SageMaker Unified Studioの画面が開けました。
image.png

3.4. プロジェクトを作成する

画面上部にSelect a projectとあるのでマウスカーソル合わせるとメニューが表示されます。
表示されたメニューからプロジェクトを作成を選択します。

image.png

プロジェクト名と説明は、任意の値を入力します。

プロジェクトのプロファイルは、プロジェクトでプロビジョニングするリソースとツールを指定します。
今回は、Bedrock IDEを使いたいので真ん中のGenerative AI application developmentを選択し、Continueボタンを押します。

image.png

そのままContinueボタンを押します。

image.png

内容を確認し、プロジェクトを作成ボタンを押します。
image.png

作成中...
image.png

プロジェクトが出来ました。
image.png

4. Amazon Bedrock IDEで生成アプリAIを作成する

4.1. Amazon Bedrock IDEの画面を表示する

Project overviewにて、画面右上の新規ボタンを押すとメニューが表示されます。
メニューからChat agent appを選択します。

image.png

Amazon Bedrock IDEの画面が開けました。
image.png

4.2. Chat agentメニューを開く

画面左のメニューからBuild > Chat agentを開きます。
image.png

4.3. Modelを選択する

Modelから任意のモデルを選択します。
今回は、Anthropic Claude 3.5 Sonnetを選択しました。

image.png

モデルを指定すると、他の設定も出てくるので、内容を確認していきます。
image.png

4.4. Instructions for chat agent &examplesを設定する

Instructions for chat agent は、AIに実行してもらいたいタスクの指示を設定します。
今回は以下のデフォルトのままとします。

You are a virtual assistant that answers user queries politely and clearly.
(あなたは、ユーザーの質問に丁寧かつ明確に答える仮想アシスタントです。)

image.png

4.5. Inference paramentersを設定する

推論パラメータを設定することで、生成AIの出力を制御できます。
今回はデフォルトのままとします。

image.png

Temperatureは、生成AIの出力のランダム性を制御します。
Top Pは、考慮される確率分布の範囲を制御します。
Top Kは、考慮される最も可能性の高い選択肢の数を制御します。
それぞれ値が低いほど一貫性のある出力が期待でき、値が高いほどランダムな出力が期待できます。

4.6. Dataを設定する

Dataは、AIが質問の回答に使用するデータソースを設定することができます。
AIアプリ内で外部データソースから情報を取得し、より専門的な情報に特化したAIアプリができます。今回は特に設定しません。

image.png

4.7. Guardrailsを設定する

AIにおけるガードレールは、AIの動作や出力を適切な範囲内に保つことで、安全性と倫理性を確保するため機能です。例えば、AIが人を侮辱する。性的な表現の回答をする。などを回避して、出力を制御するできます。

Guardrailsは、既に作成済みのガードレールからアプリに追加するか、新しくガードレールを作成してアプリに追加するか選ぶことができます。今回は特に設定しません。

image.png

4.8. Functionsを設定する

AIが回答を生成する際に外部APIを呼び出しカスタムロジックを設定できます。今回は特に設定しません。

image.png

4.9. UIを設定する

UIは、見た目や使いやすさを向上させるためのオプションを設定できます。

image.png

Hint text for empty chatは、空のチャットのヒント テキストを設定できます。
Hint text for user inputは、ユーザー入力用のヒント テキストを設定できます。

image.png

Quick-start promptsは、頻繁に使用するプロンプトを事前に登録しておくことができます。
例えば、「次の内容を要約してください」など、良く使いそうなプロンプトを設定しておくと、ワンクリックで実行できるので便利だと思います。
最大3つまで登録しておくことができます。

image.png

4.10. アプリ作成

一通り設定したのでアプリを作成します。画面右上のSaveボタンを押します。
image.png

作成できました。
image.png

左のメニューからAset gallery > My appsを開くと、作成したアプリが追加されています。
image.png

4.11. 作成したアプリを公開する

Share and grant access with linkにチェックを入れると、ドメイン内のすべてのユーザーに公開します。
今回作成したドメインには自分しかいないので、チェックを入れます。

image.png

ユーザは、Amazon SageMaker Unified Studioのドメインに存在するユーザを指します。
image.png

Share with specific users or groupsでドメイン内の特定のユーザーやグループに絞って公開することができます。
Member typeのプルダウンでユーザーからグループか選べます。
image.png

Shareボタンを押して、公開します。

image.png

公開できました。専用のURLリンクも発行されました。
Copy lInkを押してURLをコピーしておきます。
image.png

4.12. アプリを使ってみる

先ほどコピーしたURLリンクをブラウザで開いてみます。

image.png

試しにAmazon Bedrockの概要について聞いてみます。

image.png

これで一応アプリを使えるようになりました。

所感

Amazon Bedrock IDEの使用感

  • Amazon Bedrock IDEを初めて使用してみた印象として、GUIベースでAIアプリを簡単に公開までできる点は便利そうです

Amazon SageMaker Unified Studioの課題

  • UIが使いにくい

    • Amazon SageMaker Unified Studio のUIの癖が強いというか、機能の配置が直感的でないので、どこに何の機能があるかわかりいくく、必要な機能を見つけるのに時間かかるなと思いました
  • コスト面がお高め

    • Amazon SageMaker Unified Studioのドメインを構築するにあたり、自動でVPCを作りましたが、VPCエンドポイントが作成されるので結構割高です。(USD 0.014/時間のコスト発生)
    • 自分の場合は、VPCのリソースは都度消していましたが、USD 6.084ほどかかりました
        (数時間しか使ってないので、何故この料金になるのか謎ではある...)
      image.png

総評

  • 用途の限定的

    • アプリの公開先がIAMユーザーやIAM Identity Centerのユーザーに限定されるため、主に自社内向けのツールとして適しているように思いました
      (実は一般公開も行けるのか?)
  • コストの回収を考える必要がある

    • Amazon SageMaker Unified Studio自体の継続的な使用にはコストがかかるため、他の機能も併せて活用する必要があると思いました
    • つまり、コストに見合う開発効率の向上が得られるかどうかは、評価しないとなーという印象です
  • 今後の展望

    • まだプレビュー段階のサービスなので、今後の改善や機能追加に期待です
    • 今後も他の機能などガシガシと使っていきたいと思います(あまりお金かけない程度で
1
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
1
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?