적용 대상: 모든 API Management 계층
이 azure-openai-emit-token-metric 정책은 Azure OpenAI 서비스 API를 통해 큰 언어 모델 토큰의 소비에 대한 사용자 지정 메트릭을 Application Insights에 보냅니다. 토큰 수 메트릭에는 총 토큰, 프롬프트 토큰 및 완료 토큰이 포함됩니다.
Note
정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.
Azure AI Foundry 모델에서 지원되는 Azure OpenAI
이 정책은 다음 유형의 AI Foundry 모델에서 Azure OpenAI의 API Management에 추가된 API 와 함께 사용됩니다.
| API 형식 | 지원되는 모델 |
|---|---|
| 채팅 완료 | gpt-3.5gpt-4gpt-4ogpt-4o-minio1o3 |
| Embeddings | text-embedding-3-largetext-embedding-3-smalltext-embedding-ada-002 |
| 응답(미리 보기) |
gpt-4o(버전: 2024-11-20, 2024-08-062024-05-13)gpt-4o-mini (버전: 2024-07-18)gpt-4.1 (버전: 2025-04-14)gpt-4.1-nano (버전: 2025-04-14)gpt-4.1-mini (버전: 2025-04-14)gpt-image-1 (버전: 2025-04-15)o3 (버전: 2025-04-16)o4-mini (버전: '2025-04-16) |
Note
기존 완성 API는 레거시 모델 버전에서만 사용할 수 있으며 지원은 제한적입니다.
모델 및 해당 기능에 대한 현재 정보는 Foundry 모델의 Azure OpenAI를 참조하세요.
사용자 지정 메트릭 한도
Azure Monitor는 API Management에서 메트릭을 내보내는 기능에 영향을 줄 수 있는 사용자 지정 메트릭에 대해 사용 제한을 적용합니다. 예를 들어, Azure Monitor는 현재 메트릭당 차원 키 제한을 10개로 설정하고 구독의 지역당 총 활성 시계열 제한을 50,000개(12시간 이내)로 설정합니다. API Management에서 다음을 비롯한 기본 차원에 이 중 5가지가 사용됩니다.
- Region
- 서비스 아이디
- 서비스 이름
- 서비스 유형
이러한 제한은 다음과 같은 API Management 정책에서 사용자 지정 메트릭을 구성하는 데 다음과 같은 emit-metricazure-openai-emit-token-metric영향을 줍니다.
정책당 최대 5개의 사용자 지정 차원을 구성할 수 있습니다.
12시간 이내에 정책에 의해 생성된 활성 시계열 수는 해당 기간 동안 구성된 각 차원의 고유 값 수를 곱한 것입니다. 예를 들어, 정책에 3개의 사용자 지정 차원이 구성되어 있고 각 차원에 해당 기간 내에 가능한 값이 10개 있는 경우 정책은 1,000(10 x 10 x 10)개의 활성 시계열을 제공합니다.
구독의 동일한 지역에 있는 여러 API Management 인스턴스에서 정책을 구성하는 경우 모든 인스턴스가 지역 활성 시계열 제한에 기여할 수 있습니다.
Azure Monitor에서 사용자 지정 메트릭에 대한 디자인 제한 사항 및 고려 사항에 대해 자세히 알아봅니다.
Prerequisites
- API Management 인스턴스에 하나 이상의 Azure OpenAI Service API를 추가해야 합니다. 자세한 내용은 Azure API Management에 Azure OpenAI Service API 추가를 참조하세요.
- API Management 인스턴스는 Application Insights와 통합되어야 합니다. 자세한 내용은 Azure API Management를 Azure Application Insights와 통합하는 방법을 참조하세요.
- Azure OpenAI API에 대해 Application Insights 로깅을 사용하도록 설정합니다.
- Application Insights에서 차원을 사용하여 사용자 지정 메트릭을 사용하도록 설정합니다. 자세한 내용은 사용자 지정 메트릭 내보내기를 참조하세요.
정책 문
<azure-openai-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</azure-openai-emit-token-metric>
Attributes
| Attribute | Description | Required | 기본값 |
|---|---|---|---|
| namespace | 문자열입니다. 메트릭의 네임스페이스입니다. 정책 식은 허용되지 않습니다. | No | API Management |
Elements
| Element | Description | Required |
|---|---|---|
| dimension | 메트릭에 포함된 각 차원에 대해 이러한 요소 중 하나 이상을 추가합니다. | Yes |
차원 특성
| Attribute | Description | Required | 기본값 |
|---|---|---|---|
| name | 문자열 또는 정책 식입니다. 차원의 이름입니다. | Yes | N/A |
| value | 문자열 또는 정책 식입니다. 차원의 값입니다.
name은 기본 차원 중 하 나와 일치하는 경우에만 생략할 수 있습니다. 이 경우 값이 차원 이름에 따라 제공됩니다. |
No | N/A |
값 없이 사용할 수 있는 기본 차원 이름
- API ID
- 작업 ID
- 제품 ID
- 사용자 ID
- 구독 ID
- Location
- 게이트웨이 ID
- 백 엔드 ID
Usage
사용 현황 정보
- 이 정책은 정책 정의별로 여러 번 사용될 수 있습니다.
- 이 정책에 대해 최대 5개의 사용자 지정 차원을 구성할 수 있습니다.
- 포털을 사용하여 Azure OpenAI Service에서 API를 추가할 때 이 정책을 선택적으로 구성할 수 있습니다.
- 가능한 경우 Azure OpenAI Service API 응답의 사용량 섹션에 있는 값을 사용하여 토큰 메트릭을 결정합니다.
- 특정 Azure OpenAI 엔드포인트는 응답 스트리밍을 지원합니다. 스트리밍을 사용하도록 설정하기 위해 API 요청에서
stream을true로 설정하면 토큰 메트릭이 예상됩니다.
Example
다음 예제에서는 API ID와 함께 Azure OpenAI 토큰 개수 메트릭을 Application Insights에 기본 차원으로 보냅니다.
<policies>
<inbound>
<azure-openai-emit-token-metric
namespace="AzureOpenAI">
<dimension name="API ID" />
</azure-openai-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 표현식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- 정책 플레이그라운드 리포지토리
- Azure API Management 정책 도구 키트
- Copilot 지원을 받아 정책을 만들고, 설명하며, 문제를 해결하세요.