적용 대상: 모든 API Management 계층
azure-openai-semantic-cache-lookup
정책을 사용하여 이전 요청과 프롬프트의 벡터 근접성 및 지정된 유사성 점수 임계값에 따라 구성된 외부 캐시에서 Azure OpenAI Chat Completion API 요청에 대한 응답의 캐시 조회를 수행합니다. 응답 캐싱은 백 엔드 Azure OpenAI API에 적용되는 대역폭 및 처리 요구 사항을 줄이고 API 소비자가 인지하는 대기 시간을 낮춥니다.
참고 항목
- 이 정책에는 해당하는 Azure OpenAI API 요청에 대한 캐시 응답 정책이 있어야 합니다.
- 의미 체계 캐싱을 사용하도록 설정하기 위한 필수 조건과 단계는 Azure API Management에서 Azure OpenAI API에 대한 의미 체계 캐싱 사용을 참조하세요.
참고 항목
정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.
Foundry 모델 모델에서 지원되는 Azure OpenAI
이 정책은 다음 형식의 Foundry 모델의 Azure OpenAI에서 API Management에 추가된 API 와 함께 사용됩니다.
API 형식 | 지원되는 모델 |
---|---|
채팅 완료 | gpt-3.5 gpt-4 gpt-4o gpt-4o-mini o1 o3 |
포함 | text-embedding-3-large text-embedding-3-small text-embedding-ada-002 |
응답(미리 보기) |
gpt-4o (버전: 2024-11-20 , 2024-08-06 2024-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) |
참고 항목
기존 완성 API는 레거시 모델 버전에서만 사용할 수 있으며 지원은 제한적입니다.
모델 및 해당 기능에 대한 현재 정보는 Foundry 모델의 Azure OpenAI를 참조하세요.
정책 문
<azure-openai-semantic-cache-lookup
score-threshold="similarity score threshold"
embeddings-backend-id ="backend entity ID for embeddings API"
embeddings-backend-auth ="system-assigned"
ignore-system-messages="true | false"
max-message-count="count" >
<vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>
특성
특성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
점수 임계값 | 캐시된 응답을 프롬프트에 반환할지 여부를 결정하는 데 사용되는 유사성 점수 임계값입니다. 값은 0.0에서 1.0 사이의 10진입니다. 값이 작을수록 의미 체계 유사성이 커지게됩니다. 자세히 알아보기. | 예 | 해당 없음 |
embeddings-backend-id | OpenAI 포함 API 호출을 위한 백 엔드 ID입니다. | 예 | 해당 없음 |
embeddings-backend-auth | Azure OpenAI 포함 API 백 엔드에 사용되는 인증입니다. | 예.
system-assigned 로 설정해야 합니다. |
해당 없음 |
ignore-system-messages | 부울입니다. (권장)로 true 설정하면 캐시 유사성을 평가하기 전에 GPT 채팅 완료 프롬프트에서 시스템 메시지를 제거합니다. |
아니요 | 거짓 |
max-message-count | 지정된 경우 캐싱을 건너뛴 후 남은 대화 메시지 수입니다. | 아니요 | 해당 없음 |
요소들
이름 | 설명 | 필수 항목 |
---|---|---|
vary-by | 값이 캐싱을 분할하는 런타임 시 결정되는 사용자 지정 식입니다. 여러 개의 vary-by 요소가 추가되면 값이 연결되어 고유한 조합을 만듭니다. |
아니요 |
사용
사용법 참고 사항
- 이 정책은 정책 섹션에서 한 번만 사용할 수 있습니다.
- 캐시할 쿼리를 결정할 때 올바른 민감도가 사용되도록 애플리케이션 기반 값을
score-threshold
미세 조정합니다. 0.05와 같은 낮은 값으로 시작하고 캐시 적중 횟수의 누락 비율을 최적화하도록 조정합니다. - embeddings 모델에는 프롬프트 볼륨 및 프롬프트를 수용하기에 충분한 용량과 충분한 컨텍스트 크기가 있어야 합니다.
예제
해당 azure-openai-semantic-cache-store 정책의 예
<policies>
<inbound>
<base />
<azure-openai-semantic-cache-lookup
score-threshold="0.05"
embeddings-backend-id ="azure-openai-backend"
embeddings-backend-auth ="system-assigned" >
<vary-by>@(context.Subscription.Id)</vary-by>
</azure-openai-semantic-cache-lookup>
</inbound>
<outbound>
<azure-openai-semantic-cache-store duration="60" />
<base />
</outbound>
</policies>
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- 정책 플레이그라운드 리포지토리
- Azure API Management 정책 도구 키트
- Copilot 지원을 받아 정책을 만들고, 설명하며, 문제를 해결하세요.