7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIに関する記事を書こう!
Qiita Engineer Festa20242024年7月17日まで開催中!

生成AIアプリをしっかり観測しよう!Amazon BedrockをNew Relic AI Monitoringで観測!

Last updated at Posted at 2024-06-13

はじめに

AWS Summit Japan 2024の開催が近づいていますね!!
今年は次の時代を創り出すキー・テクノロジーとして生成AIが取り上げられることになっており、注目トピックスになっていますね!基調講演以外のセッションも生成AI関連の話を取り上げられる方が大変多いようです。

今回、2024年3月にGAになったNew Relic AI Monitoringで話題のAmazon Bedrockをモデルとして利用したAIアプリケーションを観測してみます。New Relic AI Monitoringを利用することで、AIアプリケーションから呼び出しているAmazon Bedrockのパフォーマンスや品質を観測できるようになります。

ハンズオンを通して確認してみましょう。

まずは無料サインアップしよう

New Relicには、無料で利用できるフリープランがあります。New Relicは利用ユーザー数と転送データ量がライセンスの構成要素ですが、全機能使い放題のユーザー1名と100GBのデータ転送が無料で使用できます。登録フォームへの入力だけですぐに使えるので、アカウントを持ってない方はまずアカウントを作成しましょう!

フリープランのサインアップフォームに氏名などの必要事項を入力するだけですぐに利用開始できます。早速アクセスして登録してみましょう。
https://newrelic.com/jp/sign-up-japan

試してみよう

前提条件

  • Amazon Bedrockが利用できること
  • IAMユーザーにAmazon Bedrockを利用できる権限があること
  • New Relicのアカウントがあること
  • python,pip,gitが使える環境

利用するアプリケーション

今回はNew Relicが用意したAmazon BedrockやOpenAIなどのAI基盤をNew Relic AI Monitoringで観測できるサンプルアプリケーションを利用します。
nr-openai-observability

Amazon Bedrock 設定

まずはAmazon Bedrockを利用できるようにAWS コンソールで設定しましょう。

Amazon BedrockをAWS コンソールで選択します。サンプルアプリケーションがus-east-1のBedrockを利用する形になっているため、us-east-1に設定します。
image.png

「使用を開始」をクリックします。

「モデルアクセスを管理」をクリックします。

「Enable all models」を選択、ガイドに沿って、Submitをクリックします。

「モデルアクセス」でベースモデルへのアクセスが付与されたことを確認します。

Amazon Bedrockの使用準備は以上になります。

アプリケーション実行環境の用意

アプリケーションの実行環境をセットアップ

今回はAmazon Linux 2023でアプリケーションの実行環境を用意します。
本記事ではEC2の作成の流れは割愛します。EC2はインターネットに出れるネットワークに配置してください。

EC2にSSHでログインして、pipとgitをインストールします。

$ sudo yum install -y python-pip git

「nr-openai-observability」を/home/ec2-user/以下にCloneします。

$ git clone https://github.com/newrelic/nr-openai-observability.git

アプリケーションのルートディレクトリに移動します。

$ cd nr-openai-observability/

Bedrockのサンプルアプリが使えるブランチにチェックアウトします。

$ git checkout -b demo origin/staging
branch 'demo' set up to track 'origin/staging'.
Switched to a new branch 'demo'

必要なモジュールをインストールします。

pip install nr-openai-observability boto3

New Relic APM エージェントをインストールする

nr-openai-observabilityのアプリケーションからAmazon Bedrockのモデルの呼び出し状況や、アプリケーションのパフォーマンスやエラーなどの状態を計測するために、PythonのAPM エージェントをインストールします。
New Relicの管理サイトにログインして、Add Data -> AI Monitoring -> Amazon Bedrockを選択します。

「Begin installation」を選択します。

Pythonを選択します。

On a host(package manager)を選択します。

「Create a new key」を選択して、後で使用するlicense keyをコピーして控えておきます。
license keyを控えたら、次のページに進みます。

EC2にPython エージェントをインストールします。

pip install newrelic

アプリケーションの名前を入力し、アプリケーションのディレクトリに配置するPython エージェントの設定ファイルをコピーしますして、アプリケーションのルートディレクトリにnewrelic.iniというファイル名で保存します。

/home/ec2-user/nr-openai-observability/newrelic.ini

スキップします。

サンプルアプリケーションを修正しないと実行時にエラーがでるため、一部修正します。

vim /home/ec2-user/nr-openai-observability/examples/bedrock_example.py

monitor.initialization()にアプリケーション名を入力します。

monitor.initialization("bedrock-demo")

アプリケーション実行前に各種環境変数を設定します。

export NEW_RELIC_LICENSE_KEY=New Relic license key
export NEW_RELIC_APP_NAME=bedrock-demo
export AWS_ACCESS_KEY_ID=AWSアクセスキー
export AWS_SECRET_ACCESS_KEY=AWSシークレットキー

サンプルアプリケーションを実行します。

NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin run-program python3 examples/bedrock_example.py

実行時のコンソールの出力例です。New Relicにデータがレポートされていること、Amazon Bedrockを実行した結果が出力されます。

「Test connection」をクリックして、Python agentのStatusがSuccessfulになることを確認します。

データを確認

New Relicの管理サイトで入ってきているアプリケーションのデータを確認してみます。

All Capabilities-> AI Monitoringをクリックします。

アプリケーション名をクリックします。

「AI Responses」をクリックすると、アプリケーションからAmazon Bedrockを呼び出したリクエスト数や平均レスポンスタイム、トークンの利用状況などを確認することが可能です。

「Responses」に記録されたリクエストをクリックすると、Amazon Bedrockの処理の詳細を確認することが可能です。
どんな質問に対して回答を返しているのかまで確認できます。

回答文に機密情報が含まれる場合、New Relicに取り込まないようにすることが可能です。設定については以下Qiita記事を参考にしてください。

まとめ

本記事では、Amazon Bedrockを利用したAIアプリケーションのパフォーマンスやAmazon Bedrockのモデルの利用状況などをNew Relic AI Monitoringで観測できる流れをハンズオン形式で紹介させていただきました。
自社でAIを使ったソリューションを開発、運用し始めている方が増えている中で、開発しているAIアプリのレスポンスタイムや品質の管理をどうするか課題をお持ちの方が多いかと思います。New Relic AI Monitoringを使うことで、AIアプリケーションから呼び出しているAIモデル基盤のパフォーマンスや品質を簡単に観測できるようになります!

New Relicの無料アカウントの無料枠内で試せますので、是非ハンズオンを実施して使用感をご確認ください!!

無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!

New Relic株式会社のQiita Organizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

7
5
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
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?