はじめに
本文書では、OpenAIを活用したアプリケーションをDatadogで監視する方法と実際の見え方について記載します。
実際に手元で検証できるよう、サンプルアプリケーション(Python)とコマンドレベルの手順
も用意したため、合わせて活用ください。
活用シナリオ
- OpenAIを活用したアプリケーションをサービスとして提供しており、パフォーマンス監視が必要
- OpenAIアカウントを複数人または複数チームで共用しており、API単位やアプリケーション単位でOpenAIの利用状況を把握したい
- OpenAIを活用したアプリケーション開発や検証において、トークンの利用数やパフォーマンスを簡単に確認したい
- プロンプトの入出力に機密情報など特定の文字列が入力されていないかを監視したい
提供機能
Datadogが提供するOpenAIの監視は、以下の2種類です。
- OpenAIとのアカウント連携によるAPI Usageのメトリックス監視
- OpenAIのAPIを呼び出すアプリケーションのトレースとログ監視
設定方法
-
OpenAIとのアカウント連携
OpenAIのAPI KeyをDatadogに連携することで、Datadog上でOpenAIのUsageを確認できます。 -
OpenAIのAPIを呼び出すアプリケーションのトレースとログ監視
以下のステップで、アプリケーションに対してAPMとログによる監視が可能となります。対応言語はPythonとNode.jsです。
2-1. Datadog Agentをインストール
2-2. AgentのStatsDパラメーターを有効化
2-3. トレーサーをインストール
2-4. アプリケーションの実行時の引数にDatadogのTracerと環境変数を引き渡す
サンプルアプリケーション
サンプルアプリケーションで実際に手元で確認できます。
こちらは、OpenAIが提供しているサンプルアプリケーションをベースとし、利用するmodelだけ変更して安価に実行できるアプリケーションと、エラーを出すアプリケーションを配置したものです。
設定および実行方法の詳細についてはHow_to_use.md
を参照ください。
DatadogのAPI KEYの取得方法はこちらのガイドを参照ください。
実際の見え方
-
API Keyの連携のみでDatadog上でOpenAI APIのUsageを見ることが可能となります。
以下のようなDatadogが提供するダッシュボードで可視化されます。
連携されたメトリックスに対してアラートを定義し、監視をすることも可能です。
-
アプリケーションのトレースを行うと以下が可能となります。
*以下のスクリーンショットは全てあらかじめ提供されているUIであり、データ連携するとすぐにこの表示で見れます。
2-1.OpenAI APIのレスポンス
2-2.API Key単位のMetrics
2-3.アプリケーションのパフォーマンス
2-4.自動でタグやメタ情報が付与されたログ
2-5.自動でトークンの数などのメタ情報が付与されたトレース
まとめ
比較的簡単な設定でOpenAIのAPIを呼び出すアプリケーションのパフォーマンスを詳細に監視できることを実感いただけたら嬉しいです。
OpenAIを活用したアプリケーションの開発、運用の助けになれば幸いです。
参考