はじめに
DatadogのLLM Observability機能をAWS LambdaからBedrockを呼び出す構成に対して有効化する際の流れについて、実際の見え方と合わせて共有します。
サンプルアプリ
サンプルアプリの構成は以下のとおりです。
フロントの入力画面はS3に配置しています。
設定ガイド
まず、この設定のために必要となる関連ガイドは以下二つです。
-
Lambdaガイド:
https://docs.datadoghq.com/serverless/aws_lambda/installation/python/?tab=datadogcli -
LLM Observabilityガイド:
https://docs.datadoghq.com/llm_observability/setup/sdk/python/#aws-lambda-setup
Lambda自身に対する監視設定に追加で、LLM Observabilityの設定を行う形となります。
Lambdaに対するDatadogの監視は専用のExtentionが提供されており、以下のように動作します。
LLMObs用に必要な最小設定は、こちらに環境変数を2つ追加するのみです。
実際の設定
AWS Lambda側の設定
-
handlerとARNの設定
*Lambda監視ガイドを参照し、最新かつ利用中のPythonのバージョンにあったARNを設定ください。
*あらかじめ設定していたハンドラは後続手順で環境変数として定義するため、手元に控えておいてください。
-
環境変数の設定
赤がLLM Observability機能を有効化するために必須な設定です。
青がAPMを有効化するために必要な設定です。 *検証ではぜひ有効化して動作を確認いただくことを強く推奨します。
AWS Lambda側の設定は以上です。Bedrockのようにサポートされているフレームワークの呼び出しを監視するだけであればコードに手を加える必要がない点がいいですね。
Datadog側の設定
続いて、Datadog画面UI上で必要な設定についてです。
-
テストデータ送付後、Datadogにログインし、アプリケーションが表示されることを確認
*Traceの表示はリアルタイムですが、初回のOverviewタブにおけるアプリ画面の表示までは数分かかることがあります。
-
右上の"Setting"アイコンから設定画面に遷移し、Evaluationで使用するModel ProviderをIntegrationsから設定
ガイドに従い、活用したいModelのAPI Keyなど入力する形となります。
OpenAIだけでなく、Antheropic, Azure OpenAI, Amazon Bedrockも選択できるようになりました。
-
"Evaluations"から有効化したいEvaluation機能を有効化
実際の見え方
再度Prompt実行し、結果を確認してください。
-
Evaluation結果
DatadogのOOTB Evaluationルールにより、Evaluation結果が表示されます。日本語のPromptに対してもEvaluation結果が正しく表示されています。
以下は、パスワードを聞き出そうとするようなPromptを、Prompt InjectionのEvaluation機能により検知している例です。
-
APMやLogとの相関
View In Traceから、APMによるアプリケーションの実行データと合わせてLLMアプリのパフォーマンスデータを見ることも可能です。
出力されたLogも自動で相関付けされて確認する事が可能です。
LLMアプリケーションのパフォーマンスデータを、LLMを呼び出すアプリケーションのパフォーマンスデータ(APM)やLogといった他のテレメトリーデータと相関付けて統合監視ができる点もDatadogの魅力の一つですね。
-
デフォルトダッシュボードとモニターテンプレート
それ以外にもデフォルトのダッシュボードやモニターテンプレートを使ってすぐにデータの可視化や監視が始められる点も魅力の一つだと思います。デフォルトダッシュボード例:
Model毎のUsageやModel毎のToken数、Response Timeなども自動でグラフ化されて可視化されます。
-
カスタムメトリックスによるコストデータの可視化
また、Metricsを柔軟に扱える機能により、例えばModel毎のディスカウントを考慮したコストに関するカスタムメトリックスを作成するなど、ビジネス観点の指標の可視化と監視も可能となります。
-
その他機能
これ以外にも追加の設定を行うことで、ToolsやRAGの呼び出しをSpanとして切り出して可視化をしたり、Custom EvaluationやRagas Evaluationにより、独自のEvaluation結果を付与することも可能です。
さらに、Preview版機能ではありますが、Agentic AIのObservability機能やPlayground機能なども開発が進んでいます。
ぜひ無料トライアルを活用して、お手元で実際に検証いただき、実際に評価いただけたらと思います。