적용 대상: 모든 API Management 계층
정책은 llm-emit-token-metric
LLM API를 통해 LLM(대규모 언어 모델) 토큰의 사용에 대한 사용자 지정 메트릭을 Application Insights에 보냅니다. 토큰 수 메트릭에는 총 토큰, 프롬프트 토큰 및 완료 토큰이 포함됩니다.
Note
정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.
Supported models
Azure AI 모델 유추 API 또는 타사 유추 공급자를 통해 제공되는 OpenAI 호환 모델을 통해 사용할 수 있는 Azure API Management에 추가된 LLM API와 함께 정책을 사용합니다.
사용자 지정 메트릭 한도
Azure Monitor는 API Management에서 메트릭을 내보내는 기능에 영향을 줄 수 있는 사용자 지정 메트릭에 대해 사용 제한을 적용합니다. 예를 들어, Azure Monitor는 현재 메트릭당 차원 키 제한을 10개로 설정하고 구독의 지역당 총 활성 시계열 제한을 50,000개(12시간 이내)로 설정합니다. API Management에서 다음을 비롯한 기본 차원에 이 중 5가지가 사용됩니다.
- Region
- Service ID
- Service Name
- Service Type
이러한 제한은 다음과 같은 API Management 정책에서 사용자 지정 메트릭을 구성하는 데 다음과 같은 emit-metric
azure-openai-emit-token-metric
영향을 줍니다.
정책당 최대 5개의 사용자 지정 차원을 구성할 수 있습니다.
12시간 이내에 정책에 의해 생성된 활성 시계열 수는 해당 기간 동안 구성된 각 차원의 고유 값 수를 곱한 것입니다. 예를 들어, 정책에 3개의 사용자 지정 차원이 구성되어 있고 각 차원에 해당 기간 내에 가능한 값이 10개 있는 경우 정책은 1,000(10 x 10 x 10)개의 활성 시계열을 제공합니다.
구독의 동일한 지역에 있는 여러 API Management 인스턴스에서 정책을 구성하는 경우 모든 인스턴스가 지역 활성 시계열 제한에 기여할 수 있습니다.
Azure Monitor에서 사용자 지정 메트릭에 대한 디자인 제한 사항 및 고려 사항에 대해 자세히 알아봅니다.
Prerequisites
- 하나 이상의 LLM API를 API Management 인스턴스에 추가해야 합니다.
- API Management 인스턴스는 Application Insights와 통합되어야 합니다. 자세한 내용은 Azure API Management를 Azure Application Insights와 통합하는 방법을 참조하세요.
- LLM API에 대해 Application Insights 로깅을 사용하도록 설정합니다.
- Application Insights에서 차원을 사용하여 사용자 지정 메트릭을 사용하도록 설정합니다. 자세한 내용은 사용자 지정 메트릭 내보내기를 참조하세요.
Policy statement
<llm-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</llm-emit-token-metric>
Attributes
Attribute | Description | Required | Default value |
---|---|---|---|
namespace | A string. 메트릭의 네임스페이스입니다. 정책 식은 허용되지 않습니다. | No | API Management |
Elements
Element | Description | Required |
---|---|---|
dimension | 메트릭에 포함된 각 차원에 대해 이러한 요소 중 하나 이상을 추가합니다. | Yes |
Dimension attributes
Attribute | Description | Required | Default value |
---|---|---|---|
name | 문자열 또는 정책 식입니다. 차원의 이름입니다. | Yes | N/A |
value | 문자열 또는 정책 식입니다. 차원의 값입니다.
name 은 기본 차원 중 하 나와 일치하는 경우에만 생략할 수 있습니다. 이 경우 값이 차원 이름에 따라 제공됩니다. |
No | N/A |
값 없이 사용할 수 있는 기본 차원 이름
- API ID
- Operation ID
- Product ID
- User ID
- Subscription ID
- Location
- Gateway ID
- Backend ID
Usage
Usage notes
- 이 정책은 정책 정의별로 여러 번 사용될 수 있습니다.
- 이 정책에 대해 최대 5개의 사용자 지정 차원을 구성할 수 있습니다.
- 가능한 경우, LLM API 응답의 사용 섹션에 있는 값은 토큰 메트릭을 결정하는 데 사용됩니다.
- 특정 LLM 엔드포인트는 응답 스트리밍을 지원합니다. 스트리밍을 사용하도록 설정하기 위해 API 요청에서
stream
을true
로 설정하면 토큰 메트릭이 예상됩니다.
Example
다음 예제에서는 기본 차원으로 API ID와 함께 Application Insights에 LLM 토큰 수 메트릭을 보냅니다.
<policies>
<inbound>
<llm-emit-token-metric
namespace="MyLLM">
<dimension name="API ID" />
</llm-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
Related policies
- Logging
- emit-metric policy
- azure-openai-emit-token-metric policy
- llm-token-limit policy
Related content
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- Policy expressions
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- 정책 플레이그라운드 리포지토리
- Azure API Management 정책 도구 키트
- Copilot 지원을 받아 정책을 만들고, 설명하며, 문제를 해결하세요.