Azure DevOps 평가를 실행하는 방법(미리 보기)

중요

이 문서에서 표시된 항목(미리 보기)은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure 미리 보기에 대한 사용 약관 참조하세요.

Azure DevOps 확장을 사용하면 CI/CD 파이프라인 내에서 Microsoft Foundry Agents 오프라인 평가를 수행할 수 있습니다. 오프라인 평가 프로세스를 간소화하므로 프로덕션에 대한 업데이트를 릴리스하기 전에 잠재적인 문제를 식별하고 개선할 수 있습니다.

이 확장을 사용하려면 테스트 쿼리와 계산기 목록이 포함된 데이터 집합을 제공합니다. 이 작업은 쿼리를 사용하여 에이전트를 호출하고, 평가하고, 요약 보고서를 생성합니다.

기능

  • Agent Evaluation: CI/CD 워크플로에서 Microsoft Foundry 에이전트의 사전 프로덕션 평가를 자동화합니다.
  • 평가자: Foundry 평가자 카탈로그의 모든 평가자를 사용합니다.
  • 통계 분석: 평가 결과에는 신뢰 구간과 통계적 유의성 테스트가 포함되어 임의 변형으로 인한 변경이 아닌 의미가 있는지 확인합니다.

평가자 범주

  • 에이전트 평가자: 에이전트 워크플로에 대한 프로세스 및 시스템 수준 평가기입니다.
  • RAG 계산기: RAG 시스템에서 엔드 투 엔드 및 검색 프로세스를 평가합니다.
  • 위험 및 안전 평가자: 응답에서 위험 및 안전 문제를 평가합니다.
  • 범용 평가자: 일관성 및 유창성과 같은 품질 평가입니다.
  • OpenAI 기반 채점자: 문자열 검사, 텍스트 유사성, 점수/레이블 모델을 비롯한 OpenAI 채점자를 사용합니다.
  • Custom 평가자: Python 코드 또는 LLM-as-a-judge 패턴을 사용하여 사용자 지정 평가자를 정의하세요.

필수 구성 요소

권장 인증 방법은 Azure Resource Manager 서비스 연결을 통해 Microsoft Entra ID. Azure DevOps 프로젝트에서 서비스 연결 만든 다음, AzureCLI@2 전에 AIAgentEvaluation@2 작업을 사용하여 파이프라인에서 참조합니다.

입력

매개 변수

이름 필수? 설명
Azure AI 프로젝트 엔드포인트 Microsoft Foundry 프로젝트의 엔드포인트입니다. 이 값을 찾으려면 Foundry 포털 에서 프로젝트를 열고 개요 페이지에서 엔드포인트를 복사합니다.
배포-이름 평가에 사용할 Azure AI 모델 배포의 이름입니다. Foundry 포털의 모델 + 엔드포인트 에서 기존 배포를 찾습니다.
데이터 경로 평가에 사용되는 평가자와 입력 질의를 포함한 데이터 파일의 위치를 나타내는 경로입니다.
agent-ids 형식 agent-name:version(예를 들면, my-agent:1 또는 my-agent:1,my-agent:2)으로 평가할 대상인 하나 이상의 에이전트 ID입니다. 여러 에이전트는 쉼표로 구분되고 통계 테스트 결과와 비교됩니다.
기준-에이전트-아이디 (baseline-agent-id) 아니요 여러 에이전트를 평가할 때 비교할 기준 에이전트의 ID입니다. 제공되지 않으면 첫 번째 에이전트가 사용됩니다.

참고

에이전트 ID 및 버전을 찾으려면 Foundry 포털에서 프로젝트를 열고 에이전트로 이동하여 에이전트를 선택하고 세부 정보 창에서 에이전트 ID 를 복사합니다. 버전은 배포 버전 번호(예: my-agent:1)입니다.

데이터 파일

입력 데이터 파일은 다음 구조를 가진 JSON 파일이어야 합니다.

필드 유형 필수? 설명
이름 문자열 평가 데이터 세트의 이름입니다.
평가자들 string[] 사용할 평가자 이름 목록입니다. Foundry 포털의 Build > Evaluations > 평가자 카탈로그에서 프로젝트에 사용 가능한 평가자 목록을 확인하십시오>.
데이터 object[] queryground_truth 같은 선택적 평가자 필드를 포함한 context 입력 객체의 배열입니다. 평가자에게 자동 매핑됨; data_mapping를 사용하여 재정의합니다.
openai_graders 개체 아니요 OpenAI 기반 계산기(label_model, score_model, string_check 등)에 대한 구성입니다.
평가자_매개변수 개체 아니요 계산기별 초기화 매개 변수(예: 임계값, 사용자 지정 설정).
데이터 매핑 개체 아니요 사용자 지정 데이터 필드 매핑(제공되지 않은 경우 데이터에서 자동 생성됨).

기본 샘플 데이터 파일


{
  "name": "test-data",
  "evaluators": [
    "builtin.fluency",
    "builtin.task_adherence",
    "builtin.violence"
  ],
  "data": [
    {
      "query": "Tell me about Tokyo disneyland"
    },
    {
      "query": "How do I install Python?"
    }
  ]
}

추가 샘플 데이터 파일

파일 설명
dataset-tiny.json 적은 수의 테스트 쿼리 및 계산기가 있는 데이터 세트입니다.
dataset.json 지원되는 모든 평가자 형식과 신뢰 구간 계산 및 통계 테스트를 위한 충분한 쿼리가 있는 데이터 세트입니다.
dataset-builtin-evaluators.json 기본 제공 Foundry 평가기 예제(예: 일관성, 유창성, 관련성, 근거 기반, 메트릭).
dataset-openai-graders.json OpenAI 기반 채점자 예제(레이블 모델, 점수 모델, 텍스트 유사성, 문자열 검사).
dataset-custom-evaluators.json 계산기 매개 변수가 있는 사용자 지정 계산기 예제입니다.
dataset-data-mapping.json 사용자 지정 데이터 열 이름으로 자동 필드 매핑을 재정의하는 방법을 보여 주는 데이터 매핑 예제입니다.

샘플 파이프라인

이 확장을 사용하려면 AIAgentEvaluation@2 작업을 Azure Pipeline에 추가합니다. 다음 예제에서는 Azure Resource Manager 서비스 연결을 사용하여 인증하고 에이전트를 평가하는 전체 파이프라인을 보여 줍니다.

steps:
  - task: AIAgentEvaluation@2
    displayName: "Evaluate AI Agents"
    inputs:
      azure-ai-project-endpoint: "$(AzureAIProjectEndpoint)"
      deployment-name: "$(DeploymentName)"
      data-path: "$(System.DefaultWorkingDirectory)/path/to/your/dataset.json"
      agent-ids: "$(AgentIds)"

평가 결과 및 출력

Azure DevOps 파이프라인 요약에 평가 결과가 표시됩니다. 이 보고서는 각 메트릭, 신뢰도 간격 및 여러 에이전트를 평가할 때 차이점이 의미 있는지 또는 임의 변형 내에 있는지를 나타내는 쌍별 통계 비교를 보여 줍니다.

다음 스크린샷은 두 에이전트를 비교하는 샘플 보고서를 보여 줍니다.

Azure DevOps 파이프라인 요약의 스크린샷으로, 두 에이전트에 대한 신뢰 구간과 쌍별 통계 비교를 통해 에이전트 평가 점수를 보여줍니다