이 문서에서는 Azure API Management 언어 모델 API 요청 및 응답에 대한 Azure Monitor 로깅을 설정하는 방법을 알아봅니다.
API Management 관리자는 다음과 같은 시나리오에 대해 API Management 게이트웨이 로그와 함께 언어 모델 API 요청 및 응답 로그를 사용할 수 있습니다.
청구 사용량을 계산합니다. 각 애플리케이션 또는 API 소비자가 사용하는 토큰 수(예: 구독 ID 또는 IP 주소로 분할됨)에 따라 청구에 대한 사용량 메트릭을 계산합니다.
메시지를 검사합니다. 프롬프트 및 완료를 검사하고 분석하여 디버깅, 감사 및 모델 평가에 도움이 됩니다.
자세히 알아보기:
필수 조건
- Azure API Management 인스턴스입니다.
- Azure API Management 통합된 관리되는 언어 모델 채팅 완료 API입니다. 예를 들어 Microsoft Foundry API를 가져옵니다.
- Azure Log Analytics 작업 영역에 대한 액세스.
- API Management에서 진단 설정을 구성하고 로그에 액세스할 수 있는 적절한 권한입니다.
언어 모델 API 로그에 대한 진단 설정 사용
게이트웨이가 큰 언어 모델 REST API에 대해 처리하는 요청을 기록하도록 진단 설정을 사용하도록 설정합니다. 각 요청에 대해 Azure Monitor가 수신합니다.
프롬프트 토큰, 완료 토큰 및 총 토큰과 같은 토큰 사용량에 대한 데이터
사용된 모델의 이름
필요에 따라 요청 및 응답 메시지: 프롬프트 및 완료
Azure Monitor 필요한 경우 큰 요청과 응답을 시퀀스 번호가 있는 여러 로그 항목으로 분할합니다.
비고
API Management는 언어 모델 API의 응답에서 토큰 사용량 현황 데이터를 캡처합니다. 토큰 사용량이 누락된 시나리오(예: 중단된 스트림 또는 종료된 연결)에서는 토큰 사용량이 기록되지 않거나 부정확할 수 있습니다.
언어 모델 API 로그를 Log Analytics 작업 영역으로 안내하는 진단 설정을 사용하도록 설정하려면 다음 단계를 수행합니다. 자세한 내용은 Azure Monitor 로그에 대한 진단 설정 사용을 참조하세요.
Azure Portal에서 Azure API Management 인스턴스로 이동합니다.
왼쪽 메뉴의 모니터링 아래에서 진단 설정>+ 진단 설정 추가를 선택합니다.
LOG ANALYTICS 작업 영역에 AI 게이트웨이 로그를 보내도록 설정을 구성합니다.
- 로그 아래에서 생성 AI 게이트웨이와 관련된 로그를 선택합니다.
- 대상 세부 정보에서 Log Analytics 작업 영역으로 보내기를 선택합니다.
다른 설정을 검토하거나 구성하고 필요한 경우 변경합니다.
저장을 선택합니다.
언어 모델 API에 대한 요청 또는 응답 로깅 사용
모든 API에 대해 진단 설정을 사용하도록 설정하거나 특정 API에 대한 로깅을 사용자 지정할 수 있습니다. 다음 단계에 따라 API에 대한 언어 모델 요청 및 응답 메시지를 모두 기록합니다. 자세한 내용은 API 로깅 설정 수정을 참조하세요.
- API Management 인스턴스의 왼쪽 메뉴에서 API API>를 선택한 다음, API의 이름을 선택합니다.
- 위쪽 표시줄에서 설정을 선택합니다.
- 진단 로그 섹션까지 아래로 스크롤하고 Azure Monitor 선택합니다.
- 로그 LLM 메시지에서 사용 을 선택합니다.
- 로그 프롬프트를 선택하고 크기(예: 32768)를 입력합니다.
- 로그 완료를 선택하고 크기를 바이트 단위로 입력합니다(예: 32768).
- 다른 설정을 검토하고 필요한 경우 변경합니다. 저장을 선택합니다.
비고
수집을 사용하도록 설정하면 최대 32KB 크기의 언어 모델 요청 또는 응답 메시지가 단일 항목으로 전송됩니다. 32KB보다 큰 메시지는 분할되고 나중에 재구성하기 위해 시퀀스 번호가 있는 32KB 청크로 기록됩니다. 요청 메시지 및 응답 메시지는 각각 2MB를 초과할 수 없습니다.
언어 모델 API에 대한 분석 통합 문서 검토
Azure Monitor 기반 Analytics 대시보드는 Log Analytics 작업 영역에서 집계된 데이터를 사용하여 언어 모델 API 사용 및 토큰 소비에 대한 인사이트를 제공합니다. 자세한 내용은 Azure API Management에서 API 분석 정보를 얻기를 참조하세요.
- API Management 인스턴스의 왼쪽 메뉴에서 모니터링>분석을 선택합니다.
- 언어 모델 탭을 선택합니다.
- 선택한 시간 범위에서 언어 모델 API 토큰 소비 및 요청에 대한 메트릭 및 시각화를 검토합니다.
요청 및 응답에 대한 Azure Monitor 로그 검토
토큰 사용량, 사용된 모델 배포 및 특정 시간 범위에 대한 기타 세부 정보를 포함하여 언어 모델 요청 및 응답에 대한 자세한 내용은 ApiManagementGatewayLlmLog 로그를 검토합니다.
큰 요청 및 응답에 대한 청크 분할 메시지를 비롯한 요청 및 응답은 필드를 사용하여 CorrelationId 상관 관계를 지정할 수 있는 별도의 로그 항목에 표시됩니다.
감사를 위해 다음 쿼리와 유사한 Kusto 쿼리를 사용하여 각 요청 및 응답을 단일 레코드에 조인합니다. 추적하려는 필드를 포함하도록 쿼리를 조정합니다.
ApiManagementGatewayLlmLog
| extend RequestArray = parse_json(RequestMessages)
| extend ResponseArray = parse_json(ResponseMessages)
| mv-expand RequestArray
| mv-expand ResponseArray
| project
CorrelationId,
RequestContent = tostring(RequestArray.content),
ResponseContent = tostring(ResponseArray.content)
| summarize
Input = strcat_array(make_list(RequestContent), " . "),
Output = strcat_array(make_list(ResponseContent), " . ")
by CorrelationId
| where isnotempty(Input) and isnotempty(Output)
모델 평가를 위해 Microsoft Foundry에 데이터 업로드
언어 모델 로깅 데이터를 Microsoft Foundry에서 model 평가 데이터 세트로 내보낼 수 있습니다. 모델 평가를 사용하면 기본 제공 또는 사용자 지정 평가 메트릭을 사용하여 테스트 모델 또는 데이터 세트에 대해 생성 AI 모델 및 애플리케이션의 성능을 평가할 수 있습니다.
모델 평가를 위한 데이터 세트로 언어 모델 로그를 사용하려면 다음을 수행합니다.
- 이전 섹션에 표시된 것처럼 언어 모델 요청 및 응답 메시지를 각 상호 작용에 대한 단일 레코드에 조인합니다. 모델 평가에 사용할 필드를 포함합니다.
- 데이터 세트를 Microsoft Foundry와 호환되는 CSV 형식으로 내보냅니다.
- Microsoft Foundry 포털에서 데이터 세트를 업로드하고 평가하는 새 평가를 만듭니다.
Microsoft Foundry에서 모델 평가를 만들고 실행하는 자세한 내용은 Microsoft Foundry 포털에서 평가 실행 참조하세요.