Slide 1

Slide 1 text

2025.08.20 Japan Datadog User Group Meetup#12@東京 株式会社ニーリー 宮後 啓介 @miya10kei NEALLE 1 AI OCR API on Lambdaを Datadogで可視化してみた

Slide 2

Slide 2 text

2023年にニーリーにジョイン 昨年までSREリードとしてサービスの信頼性やアジリティ向上の施 策を実施。2025年よりプロダクト/事業部門での生成AI活用を推進 するチームを立ち上げ活動中。 2 自己紹介 @miya10kei 株式会社ニーリー プラットフォーム開発G プロダクトAI開発 リーダー Keisuke Miyaushiro 宮後 啓介

Slide 3

Slide 3 text

3 1. AI OCR API on Lambdaについて 2. 可視化に使用したDatadog機能 3. 使用してみての感想 目次

Slide 4

Slide 4 text

4 AI OCR API on Lambda LLMで必要書類の確からしさ(真正性)と、情報読み取り(OCR)を行うAPI この書類の情報を 読み取って with 画 像 記載されている情報は.... API Gateway Lambda S3 Gemini 利用元

Slide 5

Slide 5 text

5 可視化に使用したDatadog機能 Datadog Lambda Extension Lambda Layerとして動作。Logs/Metrics/TracesなどのTelemetryデータを自 動収集しDatadogに転送してくれる機能。(Datadog AgentのLambda版) Datadog LLM Observability 各種LLM Providerへのリクエストを対象にInput/Ouput、レイテンシー、トー クン数といったデータを可視化してくれる機能。 プロンプトインジェクションなどのセキュリティ検知や、ハルシネーション 判定などの品質チェック機能なども提供している

Slide 6

Slide 6 text

6 Datadog Lambda Extensionの設定 1. CloudFormation Macroのインストール aws cloudformation create-stack \ --stack-name datadog-serverless-macro \ --template-url https://datadog-cloudformation-template.s3.amazonaws.com/aws/serverless-macro/latest.yml \ --capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_IAM 2. (SAMの場合) Template.yamlに設定を追記 Transform: - AWS::Serverless-2016-10-31 - Name: DatadogServerless Parameters: stackName: !Ref "AWS::StackName" pythonLayerVersion: 113 extensionLayerVersion: 84 site: "" apiKeySecretArn: ""

Slide 7

Slide 7 text

複数Lambdaの実行回数/エラー数/レイテンシなど をまとめて確認可能 7 Datadog Lambda Extensionで確認できるデータ サマリー 詳細 個別LambdaのLogs/Metrics/Traces/Configuration などの詳細やCOLD STARTの有無などLambda固有 の情報も確認可能

Slide 8

Slide 8 text

8 Datadog LLM Observabilityの設定 Inline Method方式 from ddtrace.llmobs import LLMObs from ddtrace.llmobs.decorators import llm @llm(model_name="gemini", model_provider="google", name="call_gemini") def call_gemini(...): # Spanに付与するアノテーションを設定 LLMObs.annotate( input_data=parts[0].text if parts else None, output_data=output_text, metadata={"model": model, "temperature": temperature, "top_p": top_p, "max_output_tokens": max_output_tokens}, metrics={ "input_tokens": response.usage_metadata.prompt_token_count, "output_tokens": response.usage_metadata.candidates_token_count, "total_tokens": response.usage_metadata.total_token_count, }, tags={"version_prompt": version}, ) ※ Auto Instrumentation機能もあるが、当時はgoogle-genaiパッケージが未対応だったので上記方法で設定🥲

Slide 9

Slide 9 text

Input/OutputのTopic毎のレイテンーや、Tokens数 のパーセンタイル値などが確認可能 9 Datadog LLM Observabilityで確認できるデータ サマリー 詳細情報 各リクエストの生成AIへのInput/OutputがTrace データとして確認可能

Slide 10

Slide 10 text

■ Good ● Input/OutputをTrace情報として確認できるので、障害時の調査などで役 立ちそう ■ Points to improve ● Input/OutputのTopicのグルーピングを自分で調整したい🥲 ● Input/Outputの閲覧制限ができないので、本番環境だと使用しずらい🤔 10 Datadog Lambda ExtensionとDatadog LLM Observabilityを使ってみての感想 Datadog Lambda Extension Datadog LLM Observability ■ Good ● 簡単なインストールで、基本的なTelemetryデータが自動収集されるので 入れない理由がない👍 ● COLD START率や起動時間などのLambda固有の関心事にも対応してい る✨

Slide 11

Slide 11 text

ニーリー採用情報など

Slide 12

Slide 12 text

Thank you 12