Graders
GradersGrader Models
ModelsExpand Collapse
GraderInputs = array of string or ResponseInputText { text, type } or object { text, type } or 2 moreA list of inputs, each of which may be either an input text, output text, input
image, or input audio object.
A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
LabelModelGrader = object { input, labels, model, 3 more } A LabelModelGrader object which uses a model to assign labels to each item
in the evaluation.
A LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
input: array of object { content, role, type }
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
GraderInputs = array of string or ResponseInputText { text, type } or object { text, type } or 2 moreA list of inputs, each of which may be either an input text, output text, input
image, or input audio object.
A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
role: "user" or "assistant" or "system" or "developer"The role of the message input. One of user, assistant, system, or
developer.
The role of the message input. One of user, assistant, system, or
developer.
The type of the message input. Always message.
The labels to assign to each item in the evaluation.
The model to use for the evaluation. Must support structured outputs.
The name of the grader.
The labels that indicate a passing result. Must be a subset of labels.
The object type, which is always label_model.
MultiGrader = object { calculate_output, graders, name, type } A MultiGrader object combines the output of multiple graders to produce a single score.
A MultiGrader object combines the output of multiple graders to produce a single score.
A formula to calculate the output based on grader results.
graders: StringCheckGrader { input, name, operation, 2 more } or TextSimilarityGrader { evaluation_metric, input, name, 2 more } or PythonGrader { name, source, type, image_tag } or 2 moreA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
StringCheckGrader = object { input, name, operation, 2 more } A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
The input text. This may include template strings.
The name of the grader.
operation: "eq" or "ne" or "like" or "ilike"The string check operation to perform. One of eq, ne, like, or ilike.
The string check operation to perform. One of eq, ne, like, or ilike.
The reference text. This may include template strings.
The object type, which is always string_check.
TextSimilarityGrader = object { evaluation_metric, input, name, 2 more } A TextSimilarityGrader object which grades text based on similarity metrics.
A TextSimilarityGrader object which grades text based on similarity metrics.
evaluation_metric: "cosine" or "fuzzy_match" or "bleu" or 8 moreThe evaluation metric to use. One of cosine, fuzzy_match, bleu,
gleu, meteor, rouge_1, rouge_2, rouge_3, rouge_4, rouge_5,
or rouge_l.
The evaluation metric to use. One of cosine, fuzzy_match, bleu,
gleu, meteor, rouge_1, rouge_2, rouge_3, rouge_4, rouge_5,
or rouge_l.
The text being graded.
The name of the grader.
The text being graded against.
The type of grader.
PythonGrader = object { name, source, type, image_tag } A PythonGrader object that runs a python script on the input.
A PythonGrader object that runs a python script on the input.
The name of the grader.
The source code of the python script.
The object type, which is always python.
The image tag to use for the python script.
ScoreModelGrader = object { input, model, name, 3 more } A ScoreModelGrader object that uses a model to assign a score to the input.
A ScoreModelGrader object that uses a model to assign a score to the input.
input: array of object { content, role, type } The input messages evaluated by the grader. Supports text, output text, input image, and input audio content blocks, and may include template strings.
The input messages evaluated by the grader. Supports text, output text, input image, and input audio content blocks, and may include template strings.
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
GraderInputs = array of string or ResponseInputText { text, type } or object { text, type } or 2 moreA list of inputs, each of which may be either an input text, output text, input
image, or input audio object.
A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
role: "user" or "assistant" or "system" or "developer"The role of the message input. One of user, assistant, system, or
developer.
The role of the message input. One of user, assistant, system, or
developer.
The type of the message input. Always message.
The model to use for the evaluation.
The name of the grader.
The object type, which is always score_model.
The range of the score. Defaults to [0, 1].
sampling_params: optional object { max_completions_tokens, reasoning_effort, seed, 2 more } The sampling parameters for the model.
The sampling parameters for the model.
The maximum number of tokens the grader model may generate in its response.
Constrains effort on reasoning for
reasoning models.
Currently supported values are none, minimal, low, medium, high, and xhigh. Reducing
reasoning effort can result in faster responses and fewer tokens used
on reasoning in a response.
gpt-5.1defaults tonone, which does not perform reasoning. The supported reasoning values forgpt-5.1arenone,low,medium, andhigh. Tool calls are supported for all reasoning values in gpt-5.1.- All models before
gpt-5.1default tomediumreasoning effort, and do not supportnone. - The
gpt-5-promodel defaults to (and only supports)highreasoning effort. xhighis supported for all models aftergpt-5.1-codex-max.
A seed value to initialize the randomness, during sampling.
A higher temperature increases randomness in the outputs.
An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
LabelModelGrader = object { input, labels, model, 3 more } A LabelModelGrader object which uses a model to assign labels to each item
in the evaluation.
A LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
input: array of object { content, role, type }
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
GraderInputs = array of string or ResponseInputText { text, type } or object { text, type } or 2 moreA list of inputs, each of which may be either an input text, output text, input
image, or input audio object.
A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
role: "user" or "assistant" or "system" or "developer"The role of the message input. One of user, assistant, system, or
developer.
The role of the message input. One of user, assistant, system, or
developer.
The type of the message input. Always message.
The labels to assign to each item in the evaluation.
The model to use for the evaluation. Must support structured outputs.
The name of the grader.
The labels that indicate a passing result. Must be a subset of labels.
The object type, which is always label_model.
The name of the grader.
The object type, which is always multi.
PythonGrader = object { name, source, type, image_tag } A PythonGrader object that runs a python script on the input.
A PythonGrader object that runs a python script on the input.
The name of the grader.
The source code of the python script.
The object type, which is always python.
The image tag to use for the python script.
ScoreModelGrader = object { input, model, name, 3 more } A ScoreModelGrader object that uses a model to assign a score to the input.
A ScoreModelGrader object that uses a model to assign a score to the input.
input: array of object { content, role, type } The input messages evaluated by the grader. Supports text, output text, input image, and input audio content blocks, and may include template strings.
The input messages evaluated by the grader. Supports text, output text, input image, and input audio content blocks, and may include template strings.
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
Inputs to the model - can contain template strings. Supports text, output text, input images, and input audio, either as a single item or an array of items.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
GraderInputs = array of string or ResponseInputText { text, type } or object { text, type } or 2 moreA list of inputs, each of which may be either an input text, output text, input
image, or input audio object.
A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
A text input to the model.
ResponseInputText = object { text, type } A text input to the model.
A text input to the model.
The text input to the model.
The type of the input item. Always input_text.
OutputText = object { text, type } A text output from the model.
A text output from the model.
The text output from the model.
The type of the output text. Always output_text.
InputImage = object { image_url, type, detail } An image input block used within EvalItem content arrays.
An image input block used within EvalItem content arrays.
The URL of the image input.
The type of the image input. Always input_image.
The detail level of the image to be sent to the model. One of high, low, or auto. Defaults to auto.
ResponseInputAudio = object { input_audio, type } An audio input to the model.
An audio input to the model.
input_audio: object { data, format }
Base64-encoded audio data.
format: "mp3" or "wav"The format of the audio data. Currently supported formats are mp3 and
wav.
The format of the audio data. Currently supported formats are mp3 and
wav.
The type of the input item. Always input_audio.
role: "user" or "assistant" or "system" or "developer"The role of the message input. One of user, assistant, system, or
developer.
The role of the message input. One of user, assistant, system, or
developer.
The type of the message input. Always message.
The model to use for the evaluation.
The name of the grader.
The object type, which is always score_model.
The range of the score. Defaults to [0, 1].
sampling_params: optional object { max_completions_tokens, reasoning_effort, seed, 2 more } The sampling parameters for the model.
The sampling parameters for the model.
The maximum number of tokens the grader model may generate in its response.
Constrains effort on reasoning for
reasoning models.
Currently supported values are none, minimal, low, medium, high, and xhigh. Reducing
reasoning effort can result in faster responses and fewer tokens used
on reasoning in a response.
gpt-5.1defaults tonone, which does not perform reasoning. The supported reasoning values forgpt-5.1arenone,low,medium, andhigh. Tool calls are supported for all reasoning values in gpt-5.1.- All models before
gpt-5.1default tomediumreasoning effort, and do not supportnone. - The
gpt-5-promodel defaults to (and only supports)highreasoning effort. xhighis supported for all models aftergpt-5.1-codex-max.
A seed value to initialize the randomness, during sampling.
A higher temperature increases randomness in the outputs.
An alternative to temperature for nucleus sampling; 1.0 includes all tokens.
StringCheckGrader = object { input, name, operation, 2 more } A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
The input text. This may include template strings.
The name of the grader.
operation: "eq" or "ne" or "like" or "ilike"The string check operation to perform. One of eq, ne, like, or ilike.
The string check operation to perform. One of eq, ne, like, or ilike.
The reference text. This may include template strings.
The object type, which is always string_check.
TextSimilarityGrader = object { evaluation_metric, input, name, 2 more } A TextSimilarityGrader object which grades text based on similarity metrics.
A TextSimilarityGrader object which grades text based on similarity metrics.
evaluation_metric: "cosine" or "fuzzy_match" or "bleu" or 8 moreThe evaluation metric to use. One of cosine, fuzzy_match, bleu,
gleu, meteor, rouge_1, rouge_2, rouge_3, rouge_4, rouge_5,
or rouge_l.
The evaluation metric to use. One of cosine, fuzzy_match, bleu,
gleu, meteor, rouge_1, rouge_2, rouge_3, rouge_4, rouge_5,
or rouge_l.
The text being graded.
The name of the grader.
The text being graded against.
The type of grader.