GitHub 작업에서 평가를 실행하는 방법(미리 보기)

중요

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

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

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

기능

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

평가자 범주

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

필수 구성 요소

인증하는 권장 방법은 Microsoft Entra ID 사용하여 Azure 리소스에 안전하게 연결하는 것입니다. Azure 로그인 GitHub 작업 사용하여 인증 프로세스를 자동화할 수 있습니다. 자세한 내용은 OpenID ConnectAzure 로그인 작업 참조하세요.

AI 에이전트 평가를 설정하는 방법

AI 에이전트의 평가 입력

매개 변수

이름 필수? 설명
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 사용자 지정 데이터 열 이름으로 자동 필드 매핑을 재정의하는 방법을 보여 주는 데이터 매핑 예제입니다.

AI 에이전트 평가 워크플로

GitHub 작업을 사용하려면 CI/CD 워크플로에 GitHub 작업을 추가합니다. 커밋과 같은 트리거 조건과 자동화된 워크플로를 트리거할 파일 경로를 지정합니다.

비용을 최소화하기 위해 모든 커밋에서 평가를 실행하지 마세요.

이 예제에서는 에이전트 ID를 사용하여 다른 에이전트를 비교할 때 AI 에이전트 평가를 실행하는 방법을 보여 줍니다.

name: "AI Agent Evaluation"

on:
  workflow_dispatch:
  push:
    branches:
      - main

permissions:
  id-token: write
  contents: read

jobs:
  run-action:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Azure login using Federated Credentials
        uses: azure/login@v2
        with:
          client-id: ${{ vars.AZURE_CLIENT_ID }}
          tenant-id: ${{ vars.AZURE_TENANT_ID }}
          subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}

      - name: Run Evaluation
        uses: microsoft/ai-agent-evals@v3-beta
        with:
          # Replace placeholders with values for your Foundry Project
          azure-ai-project-endpoint: "<your-ai-project-endpoint>"
          deployment-name: "<your-deployment-name>"
          agent-ids: "<your-ai-agent-ids>"
          data-path: ${{ github.workspace }}/path/to/your/data-file

AI 에이전트의 평가 결과 출력

평가 결과는 GitHub Actions에서 실행되는 각 AI 평가 GitHub 작업에 대한 요약 섹션으로 출력됩니다. 이 보고서는 각 메트릭, 신뢰도 간격 및 여러 에이전트를 평가할 때의 평가 점수를 보여 줍니다. 이 비교는 차이점이 의미 있는지 또는 임의 변형 내에 있는지를 나타내는 쌍을 이루는 통계 비교입니다.

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

 GitHub Actions 워크플로 요약의 스크린샷은 두 에이전트의 평가 점수와 신뢰 구간 및 쌍별 통계 비교를 보여 줍니다.