はじめに
先日、AWS Bedrockの利用状況の可視化ということで以下の記事を書きました。
https://qiita.com/takeo-furukubo/items/a19152a669732d8d4784
8.16では同様にVertex AIにもIntegrationsが出ていますのでそちらの解説となります。
正式なドキュメントはこちらです。
https://www.elastic.co/guide/en/integrations/current/gcp_vertexai.html
現状ではprompt/response情報が出ていないので、メトリクスだけとなります。
本記事は8.16.1をベースにしています。本機能は2024/12/10現在テクニカルプレビューです。
手順
- メトリクスにアクセスできるサービスアカウントを作成
- JSON Credentialsを作成してダウンロード
- Vertex AI Integrationsを設定
- Elastic Agentを展開
サービスアカウント
サービスアカウントに与えるロールですが、正式なドキュメントには
There isn’t a single, specific role required to view metrics for Vertex AI. Access depends on how the models are deployed and the permissions granted to your Google Cloud project and user account.
という記載があります。
今回の記事ではあまりよろしくはないですがVertex AI 管理者
のロールを複製して、それに以下の2つを追加しています。
monitoring.metricDescriptors.list
monitoring.timeSeries.list
JSON Credentials
サービスアカウントを作成したら、鍵を新規作成します。
キーを追加
をクリックして、JSON形式で保存します。
Vertex AI Integrationsの設定
Integrationはログを自動的に整形して可視化のダッシュボードを作成するものです。
Ingest PipelineとKibana Lensが主な構成要素です。
まず3本線メニューからManagementの下にあるIntegrations
をクリックします。
検索バーがあるのでvertex
と入力すると以下のようにフィルタされるので、表示されているVertex AIをクリックします。表示されない場合は、左下にあるDisplay beta integrations
をチェックしてください。
次の画面はクラスタ作成後に初めてIntegrationsを追加する人だけ表示されます
この画面が表示されたら、一番下のAdd integration only (skip agent installation)
をクリックします。
次の部分に入力して、最後に一番下にあるSave and continue
をクリックして保存します。
- Project id
- Credentials JSON
- 先ほどダウンロードしたJSONをそのままコピー&ペーストします
次にAdd Elastic Agent to your hosts
をクリックしてElastic Agentをインストールします。
少しスクロールダウンすると各環境におけるインストールコマンドが表示されていますので、これをコピー&ペーストしてインストールします。
問題なくインストールができて設定に問題がなければ以下のようになります。
Vertex AIを使っておく
Playgroundなどで使っておきましょう
ダッシュボード
データが来たところで、ダッシュボードで確認してみましょう。データが来るまでに少し時間がかかるようです。
3本線メニューからDashboard
をクリックします。
[Google Cloud Vertex AI] Overview
をクリックします。他にもダッシュボードがいっぱいあって見つからない場合は検索窓にvertexと入れてください。
デフォルトでは直近15分のデータしか表示しません。Vertex AIを触ったのはだいぶ前だと思いますので、右上のLast 15 minutes
の横のカレンダーアイコンをクリックして、Playgroundを操作した時間が範囲に入るように時間範囲を選びます。
全体画面
Discoverで確認
Discoverに移ってmetrics-*
を表示し、フィールドをgcp
でフィルタします。Vertex AI関係のフィールドが表示されるので、興味のあるフィールドをクリックしてみましょう。
gcp.labels.metrics.deployed_model_id
はすべてのメトリクスに入っているので、これが存在することを条件とするフィルタを掛けると、Vertex AI関係のメトリクスのみ表示できます。
まとめ
Elasticでは生成AIと連携するツールを数多く出してきました。
本記事の機能を利用することにより、生成AIにかかるコストの把握や、プロンプトエンジニアリングがやりやすくなります。
また誰が使用しているかも一目瞭然ですので、セキュリティチェックにも有用です。
検索/O11y/Security全てできるElasticは生成AIを利用するのに最適なプラットフォームです。
是非お試し下さい。