`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)
- generateText
- streamText
- embed
- embedMany
- rerank
- generateImage
- experimental_streamTranscribe
- experimental_streamTranslate
- transcribe
- generateSpeech
- experimental_generateVideo
- experimental_evaluate
- uploadFile
- uploadSkill
- Agent (Interface)
- ToolLoopAgent
- createAgentUIStream
- createAgentUIStreamResponse
- pipeAgentUIStreamToResponse
- experimental_startBatch
- tool
- experimental_getBatchStatus
- dynamicTool
- experimental_getBatchResults
- experimental_cancelBatch
- createMCPClient
- experimental_getRealtimeToolDefinitions
- toolSearch
- experimental_listBatches
- MCP Apps
- Experimental_StdioMCPTransport
- jsonSchema
- zodSchema
- valibotSchema
- Output
- filterActiveTools
- ModelMessage
- UIMessage
- validateUIMessages
- safeValidateUIMessages
- Experimental_SandboxSession
- createProviderRegistry
- customProvider
- cosineSimilarity
- wrapLanguageModel
- wrapImageModel
- LanguageModelV4Middleware
- extractReasoningMiddleware
- simulateStreamingMiddleware
- defaultInstructionsMiddleware
- defaultSettingsMiddleware
- addToolInputExamplesMiddleware
- extractJsonMiddleware
- isStepCount
- hasToolCall
- isLoopFinished
- simulateReadableStream
- smoothStream
- generateId
- createIdGenerator
- DefaultGeneratedFile