`experimental_evaluate()`

experimental_evaluate()

import { experimental_evaluate } from 'ai';

비어 있지 않은 choice, score, boolean 질문 맵을 하나의 상태(state)에 대해 평가해요. 예시와 의미는 Evaluation을 참고하세요.

출처: 문서

본문

파라미터 (Parameters)

파라미터 타입 설명
model Experimental_EvaluationModel 필수. Gateway 또는 명시적으로 구성된 평가 지원 기본 프로바이더로 해석되는 실험적 v4 모델 인스턴스 또는 문자열 ID.
state string | object | array 필수. JSON 호환 공유 상태.
questions Record<string, Experimental_EvaluationQuestion> 필수. 비어 있지 않은 질문 맵.
maxRetries number 음수가 아닌 정수; 기본값은 2.
abortSignal AbortSignal 평가를 취소.
headers Record<string, string> 추가 HTTP 헤더.
providerOptions ProviderOptions 프로바이더별 옵션.
telemetry TelemetryOptions 호출별 통합, 입력/출력 기록, 함수 ID를 포함한 텔레메트리 구성.
runtimeContext Record<string, unknown> 라이프사이클 콜백에 사용 가능하고 telemetry.includeRuntimeContext로 텔레메트리에 선택적으로 포함되는 컨텍스트.
onStart (event: Experimental_EvaluateStartEvent) => void 평가 작업이 시작될 때 호출.
onEnd (event: Experimental_EvaluateEndEvent) => void 평가 작업이 성공적으로 완료될 때 호출.

완전한 onStart 및 onEnd 이벤트 필드는 Lifecycle Callbacks를 참고하세요.

결과 (Result)

Promise<Experimental_EvaluationResult<QUESTIONS>>를 반환해요:

  • answers: 질문 ID당 하나의 타입이 있는 답변. 리터럴 Choice 옵션 추론 포함.
  • usage: inputTokens, outputTokens, totalTokens. 각각 undefined일 수 있음.
  • warnings: 프로바이더 경고. SDK 경고 로거에도 전달됨.
  • rounding: 프로바이더가 선언한 확률과 점수의 선택적 소수 정밀도.
  • providerMetadata: 선택적 프로바이더별 메타데이터.
  • response: 타임스탬프, 모델 ID, 선택적 응답 ID, 헤더, 본문.

프로바이더 명세 (Provider specification)

Experimental_EvaluationModelV4는 @ai-sdk/provider에서 내보내지며 specificationVersion: 'v4', provider, modelId, supportedQuestionTypes, doEvaluate(options)를 선언해요. 평가는 안정적인 ProviderV4와 격리돼요.

공개 코어 타입은 Experimental_EvaluationModel, Experimental_EvaluationQuestion, Experimental_EvaluationAnswer, Experimental_EvaluationResult예요. 모든 평가 전용 클래스는 Evaluation 접두사를 사용하며, 패키지 경계에서 Experimental_ 별칭을 가져요.

오류 (Errors)

지원되지 않는 유형은 프로바이더 I/O 전에 Experimental_EvaluationUnsupportedQuestionTypeError를 던져요. 잘못된 입력은 InvalidArgumentError를, 잘못된 형식의 답변은 InvalidResponseDataError를 던져요. 잘못된 답변은 재시도되지 않아요. 부분 결과도 누락 확률 합성도 지원되지 않아요.

모델 해석 (Model resolution)

registry.evaluationModel('provider:model') 또는 customProvider({ evaluationModels: { alias: model } }).evaluationModel('alias')로 모델을 해석하세요. experimental_evaluate에 직접 전달된 문자열은 사용 가능할 때 globalThis.AI_SDK_DEFAULT_PROVIDER.evaluationModel(id)를 사용해요. 평가는 절대 암시적으로 Gateway로 폴백하지 않아요.

해석 오류는 modelType: 'evaluationModel'과 함께 기존 NoSuchModelError 및 NoSuchProviderError 클래스를 사용해요. 모델 인스턴스와 해석된 모델은 v4를 구현해야 하며, 다른 버전은 UnsupportedModelVersionError를 던져요. 모델 해석 예시를 참고하세요.

더 알아보기 (Learn more)

전체 사이트맵