diff --git a/infra/modules/apim/main.tf b/infra/modules/apim/main.tf index ebadeb2..ba6f9f7 100644 --- a/infra/modules/apim/main.tf +++ b/infra/modules/apim/main.tf @@ -116,6 +116,15 @@ resource "azurerm_api_management_api_policy" "policy" { } # https://github.com/aavetis/azure-openai-logger/blob/main/README.md +# KQL Query to extract OpenAI data from Application Insights +# requests +# | where operation_Name == "openai-api;rev=1 - Completions_Create" or operation_Name == "openai-api;rev=1 - ChatCompletions_Create" +# | extend Prompt = parse_json(tostring(parse_json(tostring(parse_json(tostring(customDimensions.["Request-Body"])).messages[-1].content)))) +# | extend Generation = parse_json(tostring(parse_json(tostring(parse_json(tostring(customDimensions.["Response-Body"])).choices))[0].message)).content +# | extend promptTokens = parse_json(tostring(parse_json(tostring(customDimensions.["Response-Body"])).usage)).prompt_tokens +# | extend completionTokens = parse_json(tostring(parse_json(tostring(customDimensions.["Response-Body"])).usage)).completion_tokens +# | extend totalTokens = parse_json(tostring(parse_json(tostring(customDimensions.["Response-Body"])).usage)).total_tokens +# | project timestamp, Prompt, Generation, promptTokens, completionTokens, totalTokens, round(duration,2), operation_Name resource "azurerm_api_management_diagnostic" "diagnostics" { identifier = "applicationinsights" resource_group_name = var.resource_group_name