このエントリは2026/06/17現在の情報に基づいています。将来の機能追加や変更に伴い、記載事項からの乖離が発生する可能性があります。
以下のエントリの続き。
過去を遡れば、以下のエントリのアップデート情報、と言えるかもしれない。
ドキュメントにはサポートしている旨の記述があるので、取得できるのかどうか確認するのが、このエントリの目的。
環境
Anthropic Messages APIのときと同じだが、バックエンドサービスとして使うLLMは異なる。
| リソース | 利用したもの | 備考 |
|---|---|---|
| APIM | Standard V2 | V2であればどのSKUでも実現可能 診断設定は構成済み |
| LLM | Google Vertex AI API gemini-3.5-flash | generateContentとstreamGenerateContentを利用 |
試してみる
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "天気の善し悪しはどうやってきまる?"
}
]
}
]
, "generationConfig": {
"temperature": 1
,"maxOutputTokens": 65535
,"topP": 0.95
,"thinkingConfig": {
"thinkingLevel": "MEDIUM"
}
},
"safetySettings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "OFF"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "OFF"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "OFF"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "OFF"
}
]
, "tools": [
{
"googleSearch": {}
}
]
}
generateContentでの結果は以下の通り。単なるパススルーなので、Streamingの有効・無効を問わず問題なく通る。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "天気の「善し悪し(良い天気・悪い天気)」がどうやって決まるかは、大きく分けて**「気象学的な基準(科学的な仕組み)」**と、**「人間の主観や目的(生活や産業における視点)」**の2つの側面から決まります。\n\nそれぞれの視点から詳しく解説します。\n\n---\n\n### 1. 気象学的な基準(科学的な仕組み)\n気象学において、一般的に「良い天気=晴れ」「悪い天気=雨や荒天」とされます。これがどうやって決まるかは、**「雲の量」**と**「気圧の動き」**が関係しています。\n\n#### ① 雲の量(雲量)による決め方\n気象庁では、空全体を「10」としたときに、雲がどれくらい空を覆っているか(雲量)で天気を分類しています。\n* **快晴(ものすごく良い天気)**:雲量が **0〜1**\n* **晴れ(良い天気)**:雲量が **2〜8**\n* **曇り**:雲量が **9〜10**\n\nつまり、空の8割が雲に覆われていても、気象学的には「晴れ(良い天気)」に分類されます。\n\n#### ② 天気を決める「気圧」の仕組み\n天気の善し悪しは、空気の重さ(気圧)の変化によって決まります。\n* **高気圧(良い天気になりやすい)**\n 上空から地上に向かって空気が押し下げられる「下降気流」が発生します。下降気流が起きると雲が消滅しやすいため、空が晴れ渡り「良い天気」になります。\n* **低気圧(悪い天気になりやすい)**\n 地上から上空に向かって空気が昇っていく「上昇気流」が発生します。空気が上空で冷やされることで水蒸気がチリと結びつき、雲ができて雨や雪を降らせるため、「悪い天気」になります。\n\n---\n\n### 2. 主観や目的による基準(人にとっての「良い天気」)\n日常生活において、何をもって「良い天気」とするかは、**その人の立場やその日の目的**によって180度変わります。\n\n* **一般的なレジャーや洗濯**\n 「晴れていて、風が穏やかで、気温がちょうどいい日」が良い天気とされます。\n* **農業や水資源の管理**\n 雨がまったく降らない「晴れ」が続くと、作物が枯れたり水不足(ダムの貯水率低下)になったりします。そのため、適度に降る雨は「恵みの雨」であり、農家にとっては**「雨が良い天気(望ましい天気)」**になります。\n* **スキー場やウィンタースポーツ**\n 雪が降らなければ営業できないため、**「大雪」**こそが最高の天気になります。\n* **花粉症の人や乾燥肌の人**\n 晴れて風が強い日は花粉が飛び散り、空気も乾燥します。あえてしっとりとした**「雨の日」**のほうが、体が楽で過ごしやすい(良い天気)と感じる人もいます。\n* **日焼けを避けたい人**\n 強い紫外線が降り注ぐ快晴よりも、少し日差しが遮られる**「薄曇り」**のほうが好都合な場合があります。\n\n---\n\n### まとめ\n天気の善し悪しは、以下のように決まります。\n\n1. **科学的には:** 「高気圧」の働きで雲が少なく(雲量8以下)、雨が降らない状態を「良い天気(晴れ)」と決めている。\n2. **生活のうえでは:** 「その日の活動や目的、あるいは職業にとって都合が良い状態」を、それぞれが「良い天気」と決めている。\n\n言葉通りの「晴れ」だけが良い天気ではなく、時と場合によってすべての天気が誰かにとっての「良い天気」になり得るのが、天気の面白いところです。",
"thoughtSignature": ...
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 11,
"candidatesTokenCount": 881,
"totalTokenCount": 2379,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 11
}
],
"candidatesTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 881
}
],
"thoughtsTokenCount": 1487
},
"modelVersion": "gemini-3.5-flash",
"createTime": "2026-06-19T09:20:32.179343Z",
"responseId": ....
}
で、本題はここから。プロンプト利用データがAPIMのApiManagementGatewayLlmLogや、Application InsightsのCustom metricsで取得できるのか?結論から言うと、Native APIを使っている場合には取得できない。以下はStreaming無効時のApiManagementGatewayLlmLogの例(Streaming有効時でも同様)。Token usageはゼロであることがわかる。しかもSequenceNumberはゼロ以外に存在しない(Anthropic Messages APIのときは、Request/Responseで1と2がそれぞれ存在していた)。

同様に、customMetricsにもメトリクスが記録されない(Native APIを使っている場合、llm-emit-token-metricポリシーが想定するスキーマと異なるため、メトリックを取得できない)。
つまり
以前から変わらず、Vertex AI APIの場合は、OpenAI互換APIでなければ取得できないようである。