Alpha
Graders
Run grader
fine_tuning.alpha.graders.run(**kwargs) -> GraderRunResponse
post /fine_tuning/alpha/graders/run
Run a grader.
Parameters
-
grader: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreThe grader used for the fine-tuning job.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
input: StringThe input text. This may include template strings.
-
name: StringThe name of the grader.
-
operation: :eq | :ne | :like | :ilikeThe string check operation to perform. One of
eq,ne,like, orilike.-
:eq -
:ne -
:like -
:ilike
-
-
reference: StringThe reference text. This may include template strings.
-
type: :string_checkThe object type, which is always
string_check.:string_check
-
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
evaluation_metric: :cosine | :fuzzy_match | :bleu | 8 moreThe evaluation metric to use. One of
cosine,fuzzy_match,bleu,gleu,meteor,rouge_1,rouge_2,rouge_3,rouge_4,rouge_5, orrouge_l.-
:cosine -
:fuzzy_match -
:bleu -
:gleu -
:meteor -
:rouge_1 -
:rouge_2 -
:rouge_3 -
:rouge_4 -
:rouge_5 -
:rouge_l
-
-
input: StringThe text being graded.
-
name: StringThe name of the grader.
-
reference: StringThe text being graded against.
-
type: :text_similarityThe type of grader.
:text_similarity
-
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
name: StringThe name of the grader.
-
source: StringThe source code of the python script.
-
type: :pythonThe object type, which is always
python.:python
-
image_tag: StringThe image tag to use for the python script.
-
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
input: Array[Input{ 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.
-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
text: StringThe text input to the model.
-
type: :input_textThe type of the input item. Always
input_text.:input_text
-
prompt_cache_breakpoint: PromptCacheBreakpoint{ mode}Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's
prompt_cache_options.ttl; the boundary is not rounded to a token block.-
mode: :explicitThe breakpoint mode. Always
explicit.:explicit
-
-
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
input_audio: InputAudio{ data, format_}-
data: StringBase64-encoded audio data.
-
format_: :mp3 | :wavThe format of the audio data. Currently supported formats are
mp3andwav.-
:mp3 -
:wav
-
-
-
type: :input_audioThe type of the input item. Always
input_audio.:input_audio
-
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
model: StringThe model to use for the evaluation.
-
name: StringThe name of the grader.
-
type: :score_modelThe object type, which is always
score_model.:score_model
-
range: Array[Float]The range of the score. Defaults to
[0, 1]. -
sampling_params: SamplingParams{ max_completions_tokens, reasoning_effort, seed, 2 more}The sampling parameters for the model.
-
max_completions_tokens: IntegerThe maximum number of tokens the grader model may generate in its response.
-
reasoning_effort: ReasoningEffortConstrains effort on reasoning for reasoning models. Currently supported values are
none,minimal,low,medium,high,xhigh, andmax. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Not all reasoning models support every value. See the reasoning guide for model-specific support.-
:none -
:minimal -
:low -
:medium -
:high -
:xhigh -
:max
-
-
seed: IntegerA seed value to initialize the randomness, during sampling.
-
temperature: FloatA higher temperature increases randomness in the outputs.
-
top_p: FloatAn alternative to temperature for nucleus sampling; 1.0 includes all tokens.
-
-
-
class MultiGraderA MultiGrader object combines the output of multiple graders to produce a single score.
-
calculate_output: StringA formula to calculate the output based on grader results.
-
graders: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
class LabelModelGraderA LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
-
input: Array[Input{ content, role, type}]-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
labels: Array[String]The labels to assign to each item in the evaluation.
-
model: StringThe model to use for the evaluation. Must support structured outputs.
-
name: StringThe name of the grader.
-
passing_labels: Array[String]The labels that indicate a passing result. Must be a subset of labels.
-
type: :label_modelThe object type, which is always
label_model.:label_model
-
-
-
name: StringThe name of the grader.
-
type: :multiThe object type, which is always
multi.:multi
-
-
-
model_sample: StringThe model sample to be evaluated. This value will be used to populate the
samplenamespace. See the guide for more details. Theoutput_jsonvariable will be populated if the model sample is a valid JSON string. -
item: untypedThe dataset item provided to the grader. This will be used to populate the
itemnamespace. See the guide for more details.
Returns
-
class GraderRunResponse-
metadata: Metadata{ errors, execution_time, name, 4 more}-
errors: Errors{ formula_parse_error, invalid_variable_error, model_grader_parse_error, 11 more}-
formula_parse_error: bool -
invalid_variable_error: bool -
model_grader_parse_error: bool -
model_grader_refusal_error: bool -
model_grader_server_error: bool -
model_grader_server_error_details: String -
other_error: bool -
python_grader_runtime_error: bool -
python_grader_runtime_error_details: String -
python_grader_server_error: bool -
python_grader_server_error_type: String -
sample_parse_error: bool -
truncated_observation_error: bool -
unresponsive_reward_error: bool
-
-
execution_time: Float -
name: String -
sampled_model_name: String -
scores: Hash[Symbol, untyped] -
token_usage: Integer -
type: String
-
-
model_grader_token_usage_per_model: Hash[Symbol, untyped] -
reward: Float -
sub_rewards: Hash[Symbol, untyped]
-
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
response = openai.fine_tuning.alpha.graders.run(
grader: {input: "input", name: "name", operation: :eq, reference: "reference", type: :string_check},
model_sample: "model_sample"
)
puts(response)
Response
{
"metadata": {
"errors": {
"formula_parse_error": true,
"invalid_variable_error": true,
"model_grader_parse_error": true,
"model_grader_refusal_error": true,
"model_grader_server_error": true,
"model_grader_server_error_details": "model_grader_server_error_details",
"other_error": true,
"python_grader_runtime_error": true,
"python_grader_runtime_error_details": "python_grader_runtime_error_details",
"python_grader_server_error": true,
"python_grader_server_error_type": "python_grader_server_error_type",
"sample_parse_error": true,
"truncated_observation_error": true,
"unresponsive_reward_error": true
},
"execution_time": 0,
"name": "name",
"sampled_model_name": "sampled_model_name",
"scores": {
"foo": "bar"
},
"token_usage": 0,
"type": "type"
},
"model_grader_token_usage_per_model": {
"foo": "bar"
},
"reward": 0,
"sub_rewards": {
"foo": "bar"
}
}
Validate grader
fine_tuning.alpha.graders.validate(**kwargs) -> GraderValidateResponse
post /fine_tuning/alpha/graders/validate
Validate a grader.
Parameters
-
grader: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreThe grader used for the fine-tuning job.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
input: StringThe input text. This may include template strings.
-
name: StringThe name of the grader.
-
operation: :eq | :ne | :like | :ilikeThe string check operation to perform. One of
eq,ne,like, orilike.-
:eq -
:ne -
:like -
:ilike
-
-
reference: StringThe reference text. This may include template strings.
-
type: :string_checkThe object type, which is always
string_check.:string_check
-
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
evaluation_metric: :cosine | :fuzzy_match | :bleu | 8 moreThe evaluation metric to use. One of
cosine,fuzzy_match,bleu,gleu,meteor,rouge_1,rouge_2,rouge_3,rouge_4,rouge_5, orrouge_l.-
:cosine -
:fuzzy_match -
:bleu -
:gleu -
:meteor -
:rouge_1 -
:rouge_2 -
:rouge_3 -
:rouge_4 -
:rouge_5 -
:rouge_l
-
-
input: StringThe text being graded.
-
name: StringThe name of the grader.
-
reference: StringThe text being graded against.
-
type: :text_similarityThe type of grader.
:text_similarity
-
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
name: StringThe name of the grader.
-
source: StringThe source code of the python script.
-
type: :pythonThe object type, which is always
python.:python
-
image_tag: StringThe image tag to use for the python script.
-
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
input: Array[Input{ 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.
-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
text: StringThe text input to the model.
-
type: :input_textThe type of the input item. Always
input_text.:input_text
-
prompt_cache_breakpoint: PromptCacheBreakpoint{ mode}Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's
prompt_cache_options.ttl; the boundary is not rounded to a token block.-
mode: :explicitThe breakpoint mode. Always
explicit.:explicit
-
-
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
input_audio: InputAudio{ data, format_}-
data: StringBase64-encoded audio data.
-
format_: :mp3 | :wavThe format of the audio data. Currently supported formats are
mp3andwav.-
:mp3 -
:wav
-
-
-
type: :input_audioThe type of the input item. Always
input_audio.:input_audio
-
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
model: StringThe model to use for the evaluation.
-
name: StringThe name of the grader.
-
type: :score_modelThe object type, which is always
score_model.:score_model
-
range: Array[Float]The range of the score. Defaults to
[0, 1]. -
sampling_params: SamplingParams{ max_completions_tokens, reasoning_effort, seed, 2 more}The sampling parameters for the model.
-
max_completions_tokens: IntegerThe maximum number of tokens the grader model may generate in its response.
-
reasoning_effort: ReasoningEffortConstrains effort on reasoning for reasoning models. Currently supported values are
none,minimal,low,medium,high,xhigh, andmax. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Not all reasoning models support every value. See the reasoning guide for model-specific support.-
:none -
:minimal -
:low -
:medium -
:high -
:xhigh -
:max
-
-
seed: IntegerA seed value to initialize the randomness, during sampling.
-
temperature: FloatA higher temperature increases randomness in the outputs.
-
top_p: FloatAn alternative to temperature for nucleus sampling; 1.0 includes all tokens.
-
-
-
class MultiGraderA MultiGrader object combines the output of multiple graders to produce a single score.
-
calculate_output: StringA formula to calculate the output based on grader results.
-
graders: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
class LabelModelGraderA LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
-
input: Array[Input{ content, role, type}]-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
labels: Array[String]The labels to assign to each item in the evaluation.
-
model: StringThe model to use for the evaluation. Must support structured outputs.
-
name: StringThe name of the grader.
-
passing_labels: Array[String]The labels that indicate a passing result. Must be a subset of labels.
-
type: :label_modelThe object type, which is always
label_model.:label_model
-
-
-
name: StringThe name of the grader.
-
type: :multiThe object type, which is always
multi.:multi
-
-
Returns
-
class GraderValidateResponse-
grader: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreThe grader used for the fine-tuning job.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
input: StringThe input text. This may include template strings.
-
name: StringThe name of the grader.
-
operation: :eq | :ne | :like | :ilikeThe string check operation to perform. One of
eq,ne,like, orilike.-
:eq -
:ne -
:like -
:ilike
-
-
reference: StringThe reference text. This may include template strings.
-
type: :string_checkThe object type, which is always
string_check.:string_check
-
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
evaluation_metric: :cosine | :fuzzy_match | :bleu | 8 moreThe evaluation metric to use. One of
cosine,fuzzy_match,bleu,gleu,meteor,rouge_1,rouge_2,rouge_3,rouge_4,rouge_5, orrouge_l.-
:cosine -
:fuzzy_match -
:bleu -
:gleu -
:meteor -
:rouge_1 -
:rouge_2 -
:rouge_3 -
:rouge_4 -
:rouge_5 -
:rouge_l
-
-
input: StringThe text being graded.
-
name: StringThe name of the grader.
-
reference: StringThe text being graded against.
-
type: :text_similarityThe type of grader.
:text_similarity
-
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
name: StringThe name of the grader.
-
source: StringThe source code of the python script.
-
type: :pythonThe object type, which is always
python.:python
-
image_tag: StringThe image tag to use for the python script.
-
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
input: Array[Input{ 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.
-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
text: StringThe text input to the model.
-
type: :input_textThe type of the input item. Always
input_text.:input_text
-
prompt_cache_breakpoint: PromptCacheBreakpoint{ mode}Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's
prompt_cache_options.ttl; the boundary is not rounded to a token block.-
mode: :explicitThe breakpoint mode. Always
explicit.:explicit
-
-
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
input_audio: InputAudio{ data, format_}-
data: StringBase64-encoded audio data.
-
format_: :mp3 | :wavThe format of the audio data. Currently supported formats are
mp3andwav.-
:mp3 -
:wav
-
-
-
type: :input_audioThe type of the input item. Always
input_audio.:input_audio
-
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
model: StringThe model to use for the evaluation.
-
name: StringThe name of the grader.
-
type: :score_modelThe object type, which is always
score_model.:score_model
-
range: Array[Float]The range of the score. Defaults to
[0, 1]. -
sampling_params: SamplingParams{ max_completions_tokens, reasoning_effort, seed, 2 more}The sampling parameters for the model.
-
max_completions_tokens: IntegerThe maximum number of tokens the grader model may generate in its response.
-
reasoning_effort: ReasoningEffortConstrains effort on reasoning for reasoning models. Currently supported values are
none,minimal,low,medium,high,xhigh, andmax. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Not all reasoning models support every value. See the reasoning guide for model-specific support.-
:none -
:minimal -
:low -
:medium -
:high -
:xhigh -
:max
-
-
seed: IntegerA seed value to initialize the randomness, during sampling.
-
temperature: FloatA higher temperature increases randomness in the outputs.
-
top_p: FloatAn alternative to temperature for nucleus sampling; 1.0 includes all tokens.
-
-
-
class MultiGraderA MultiGrader object combines the output of multiple graders to produce a single score.
-
calculate_output: StringA formula to calculate the output based on grader results.
-
graders: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
class LabelModelGraderA LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
-
input: Array[Input{ content, role, type}]-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
labels: Array[String]The labels to assign to each item in the evaluation.
-
model: StringThe model to use for the evaluation. Must support structured outputs.
-
name: StringThe name of the grader.
-
passing_labels: Array[String]The labels that indicate a passing result. Must be a subset of labels.
-
type: :label_modelThe object type, which is always
label_model.:label_model
-
-
-
name: StringThe name of the grader.
-
type: :multiThe object type, which is always
multi.:multi
-
-
-
Example
require "openai"
openai = OpenAI::Client.new(api_key: "My API Key")
response = openai.fine_tuning.alpha.graders.validate(
grader: {input: "input", name: "name", operation: :eq, reference: "reference", type: :string_check}
)
puts(response)
Response
{
"grader": {
"input": "input",
"name": "name",
"operation": "eq",
"reference": "reference",
"type": "string_check"
}
}
Domain Types
Grader Run Response
-
class GraderRunResponse-
metadata: Metadata{ errors, execution_time, name, 4 more}-
errors: Errors{ formula_parse_error, invalid_variable_error, model_grader_parse_error, 11 more}-
formula_parse_error: bool -
invalid_variable_error: bool -
model_grader_parse_error: bool -
model_grader_refusal_error: bool -
model_grader_server_error: bool -
model_grader_server_error_details: String -
other_error: bool -
python_grader_runtime_error: bool -
python_grader_runtime_error_details: String -
python_grader_server_error: bool -
python_grader_server_error_type: String -
sample_parse_error: bool -
truncated_observation_error: bool -
unresponsive_reward_error: bool
-
-
execution_time: Float -
name: String -
sampled_model_name: String -
scores: Hash[Symbol, untyped] -
token_usage: Integer -
type: String
-
-
model_grader_token_usage_per_model: Hash[Symbol, untyped] -
reward: Float -
sub_rewards: Hash[Symbol, untyped]
-
Grader Validate Response
-
class GraderValidateResponse-
grader: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreThe grader used for the fine-tuning job.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
input: StringThe input text. This may include template strings.
-
name: StringThe name of the grader.
-
operation: :eq | :ne | :like | :ilikeThe string check operation to perform. One of
eq,ne,like, orilike.-
:eq -
:ne -
:like -
:ilike
-
-
reference: StringThe reference text. This may include template strings.
-
type: :string_checkThe object type, which is always
string_check.:string_check
-
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
evaluation_metric: :cosine | :fuzzy_match | :bleu | 8 moreThe evaluation metric to use. One of
cosine,fuzzy_match,bleu,gleu,meteor,rouge_1,rouge_2,rouge_3,rouge_4,rouge_5, orrouge_l.-
:cosine -
:fuzzy_match -
:bleu -
:gleu -
:meteor -
:rouge_1 -
:rouge_2 -
:rouge_3 -
:rouge_4 -
:rouge_5 -
:rouge_l
-
-
input: StringThe text being graded.
-
name: StringThe name of the grader.
-
reference: StringThe text being graded against.
-
type: :text_similarityThe type of grader.
:text_similarity
-
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
name: StringThe name of the grader.
-
source: StringThe source code of the python script.
-
type: :pythonThe object type, which is always
python.:python
-
image_tag: StringThe image tag to use for the python script.
-
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
input: Array[Input{ 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.
-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
text: StringThe text input to the model.
-
type: :input_textThe type of the input item. Always
input_text.:input_text
-
prompt_cache_breakpoint: PromptCacheBreakpoint{ mode}Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's
prompt_cache_options.ttl; the boundary is not rounded to a token block.-
mode: :explicitThe breakpoint mode. Always
explicit.:explicit
-
-
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
input_audio: InputAudio{ data, format_}-
data: StringBase64-encoded audio data.
-
format_: :mp3 | :wavThe format of the audio data. Currently supported formats are
mp3andwav.-
:mp3 -
:wav
-
-
-
type: :input_audioThe type of the input item. Always
input_audio.:input_audio
-
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
model: StringThe model to use for the evaluation.
-
name: StringThe name of the grader.
-
type: :score_modelThe object type, which is always
score_model.:score_model
-
range: Array[Float]The range of the score. Defaults to
[0, 1]. -
sampling_params: SamplingParams{ max_completions_tokens, reasoning_effort, seed, 2 more}The sampling parameters for the model.
-
max_completions_tokens: IntegerThe maximum number of tokens the grader model may generate in its response.
-
reasoning_effort: ReasoningEffortConstrains effort on reasoning for reasoning models. Currently supported values are
none,minimal,low,medium,high,xhigh, andmax. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Not all reasoning models support every value. See the reasoning guide for model-specific support.-
:none -
:minimal -
:low -
:medium -
:high -
:xhigh -
:max
-
-
seed: IntegerA seed value to initialize the randomness, during sampling.
-
temperature: FloatA higher temperature increases randomness in the outputs.
-
top_p: FloatAn alternative to temperature for nucleus sampling; 1.0 includes all tokens.
-
-
-
class MultiGraderA MultiGrader object combines the output of multiple graders to produce a single score.
-
calculate_output: StringA formula to calculate the output based on grader results.
-
graders: StringCheckGrader | TextSimilarityGrader | PythonGrader | 2 moreA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class StringCheckGraderA StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
class TextSimilarityGraderA TextSimilarityGrader object which grades text based on similarity metrics.
-
class PythonGraderA PythonGrader object that runs a python script on the input.
-
class ScoreModelGraderA ScoreModelGrader object that uses a model to assign a score to the input.
-
class LabelModelGraderA LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
-
input: Array[Input{ content, role, type}]-
content: String | ResponseInputText | OutputText{ text, type} | 3 moreInputs 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.
-
String = StringA text input to the model.
-
class ResponseInputTextA text input to the model.
-
class OutputTextA text output from the model.
-
text: StringThe text output from the model.
-
type: :output_textThe type of the output text. Always
output_text.:output_text
-
-
class InputImageAn image input block used within EvalItem content arrays.
-
image_url: StringThe URL of the image input.
-
type: :input_imageThe type of the image input. Always
input_image.:input_image
-
detail: StringThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudioAn audio input to the model.
-
GraderInputs = Array[GraderInputItem]A list of inputs, each of which may be either an input text, output text, input image, or input audio object.
-
-
role: :user | :assistant | :system | :developerThe role of the message input. One of
user,assistant,system, ordeveloper.-
:user -
:assistant -
:system -
:developer
-
-
type: :messageThe type of the message input. Always
message.:message
-
-
labels: Array[String]The labels to assign to each item in the evaluation.
-
model: StringThe model to use for the evaluation. Must support structured outputs.
-
name: StringThe name of the grader.
-
passing_labels: Array[String]The labels that indicate a passing result. Must be a subset of labels.
-
type: :label_modelThe object type, which is always
label_model.:label_model
-
-
-
name: StringThe name of the grader.
-
type: :multiThe object type, which is always
multi.:multi
-
-
-