Pattern Match

Pattern Match

LLM 출력이 정규 표현식과 일치하는지 확인하고 싶을 때 쓰는 단일 턴(single-turn) 지표예요. 다른 지표들과 달리 LLM을 사용하지 않고, 직접 제공한 정규 표현식에 출력이 매칭되는지 결정론적으로 검사해요.

출처: 문서

본문

개요

pattern match 지표는 단일 턴 지표로, LLM 애플리케이션의 출력이 사용자가 제공한 정규 표현식에 일치하는지 확인해요. 다른 지표와 달리 평가에 LLM을 사용하지 않아요.

pattern match 지표는 re.fullmatch로 매칭을 수행하기 때문에 실제 출력의 일부가 아니라 전체가 패턴과 일치해야 해요.

필수 파라미터(Required Parameters)

pattern match 지표로 평가를 실행하려면 테스트 케이스에 반드시 넣어야 하는 파라미터예요:

input (string, required)

LLM 애플리케이션에 전달한 입력이에요.

actual_output (string, required)

LLM 애플리케이션이 만들어낸 최종 출력이에요.

지표 파라미터(Metric Parameters)

metric collection에 pattern match 지표를 추가할 때 설정할 수 있는 파라미터들이에요:

pattern (string, required)

실제 출력이 일치해야 하는 정규 표현식 패턴을 지정하는 문자열이에요. 예를 들어 ^[\w\.-]+@[\w\.-]+\.\w+$처럼요.

ignore_case (boolean)

패턴 매칭을 대소문자 구분 없이 할지 여부를 지정하는 불리언이에요.

계산 방식(How Is It Calculated?)

pattern match 지표는 결정론적(deterministic) 방식으로 점수를 계산하는데, Python의 내장 re 모듈을 사용해 실제 출력을 제공된 정규 표현식과 매칭해요.

$$ \text{Pattern Match} = \begin{cases} 1 & \text{if the actual output fully matches the pattern} \ 0 & \text{otherwise} \end{cases} $$

최종 점수는 이진(binary)이에요. 실제 출력이 패턴과 완전히 일치하거나, 아니면 일치하지 않거나 둘 중 하나예요.

사용법(Usage)

Confident AI에서 pattern match 지표를 실행하려면 단일 턴 metric collection에 추가하면 돼요. 그러면 pattern match 지표를 다음에 활용할 수 있어요:

  • 단일 턴 E2E 테스트(Single-turn E2E testing)
  • 단일 턴 컴포넌트 레벨 테스트(Single-turn component-level testing)
  • 트레이스와 스팬의 온라인·오프라인 평가(Online and offline evals for traces and spans)

더 알아보기