Update an eval
EvalUpdateResponse evals().update(EvalUpdateParamsparams = EvalUpdateParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
post /evals/{eval_id}
Update an eval
Parameters
-
EvalUpdateParams params-
Optional<String> evalId -
Optional<Metadata> metadataSet of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
-
Optional<String> nameRename the evaluation.
-
Returns
-
class EvalUpdateResponse:An Eval object with a data source config and testing criteria. An Eval represents a task to be done for your LLM integration. Like:
-
Improve the quality of my chatbot
-
See how well my chatbot handles customer support
-
Check if o4-mini is better at my usecase than gpt-4o
-
String idUnique identifier for the evaluation.
-
long createdAtThe Unix timestamp (in seconds) for when the eval was created.
-
DataSourceConfig dataSourceConfigConfiguration of data sources used in runs of the evaluation.
-
class EvalCustomDataSourceConfig:A CustomDataSourceConfig which specifies the schema of your
itemand optionallysamplenamespaces. The response schema defines the shape of the data that will be:-
Used to define your testing criteria and
-
What data is required when creating a run
-
Schema schemaThe json schema for the run data source items. Learn how to build JSON schemas here.
-
JsonValue; type "custom"constantThe type of data source. Always
custom.CUSTOM("custom")
-
-
class Logs:A LogsDataSourceConfig which specifies the metadata property of your logs query. This is usually metadata like
usecase=chatbotorprompt-version=v2, etc. The schema returned by this data source config is used to defined what variables are available in your evals.itemandsampleare both defined when using this data source config.-
Schema schemaThe json schema for the run data source items. Learn how to build JSON schemas here.
-
JsonValue; type "logs"constantThe type of data source. Always
logs.LOGS("logs")
-
Optional<Metadata> metadataSet of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
-
-
class EvalStoredCompletionsDataSourceConfig:Deprecated in favor of LogsDataSourceConfig.
-
Schema schemaThe json schema for the run data source items. Learn how to build JSON schemas here.
-
JsonValue; type "stored_completions"constantThe type of data source. Always
stored_completions.STORED_COMPLETIONS("stored_completions")
-
Optional<Metadata> metadataSet of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
-
-
-
Optional<Metadata> metadataSet of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
-
String nameThe name of the evaluation.
-
JsonValue; object_ "eval"constantThe object type.
EVAL("eval")
-
List<TestingCriterion> testingCriteriaA list of testing criteria.
-
class LabelModelGrader:A LabelModelGrader object which uses a model to assign labels to each item in the evaluation.
-
List<Input> input-
Content contentInputs 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 -
class ResponseInputText:A text input to the model.
-
String textThe text input to the model.
-
JsonValue; type "input_text"constantThe type of the input item. Always
input_text.INPUT_TEXT("input_text")
-
Optional<PromptCacheBreakpoint> promptCacheBreakpointMarks 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.-
JsonValue; mode "explicit"constantThe breakpoint mode. Always
explicit.EXPLICIT("explicit")
-
-
-
class OutputText:A text output from the model.
-
String textThe text output from the model.
-
JsonValue; type "output_text"constantThe type of the output text. Always
output_text.OUTPUT_TEXT("output_text")
-
-
class InputImage:An image input block used within EvalItem content arrays.
-
String imageUrlThe URL of the image input.
-
JsonValue; type "input_image"constantThe type of the image input. Always
input_image.INPUT_IMAGE("input_image")
-
Optional<String> detailThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudio:An audio input to the model.
-
InputAudio inputAudio-
String dataBase64-encoded audio data.
-
Format formatThe format of the audio data. Currently supported formats are
mp3andwav.-
MP3("mp3") -
WAV("wav")
-
-
-
JsonValue; type "input_audio"constantThe type of the input item. Always
input_audio.INPUT_AUDIO("input_audio")
-
-
List<EvalContentItem>-
String -
class ResponseInputText:A text input to the model.
-
OutputText-
String textThe text output from the model.
-
JsonValue; type "output_text"constantThe type of the output text. Always
output_text.OUTPUT_TEXT("output_text")
-
-
InputImage-
String imageUrlThe URL of the image input.
-
JsonValue; type "input_image"constantThe type of the image input. Always
input_image.INPUT_IMAGE("input_image")
-
Optional<String> detailThe detail level of the image to be sent to the model. One of
high,low, orauto. Defaults toauto.
-
-
class ResponseInputAudio:An audio input to the model.
-
-
-
Role roleThe role of the message input. One of
user,assistant,system, ordeveloper.-
USER("user") -
ASSISTANT("assistant") -
SYSTEM("system") -
DEVELOPER("developer")
-
-
Optional<Type> typeThe type of the message input. Always
message.MESSAGE("message")
-
-
List<String> labelsThe labels to assign to each item in the evaluation.
-
String modelThe model to use for the evaluation. Must support structured outputs.
-
String nameThe name of the grader.
-
List<String> passingLabelsThe labels that indicate a passing result. Must be a subset of labels.
-
JsonValue; type "label_model"constantThe object type, which is always
label_model.LABEL_MODEL("label_model")
-
-
class StringCheckGrader:A StringCheckGrader object that performs a string comparison between input and reference using a specified operation.
-
String inputThe input text. This may include template strings.
-
String nameThe name of the grader.
-
Operation operationThe string check operation to perform. One of
eq,ne,like, orilike.-
EQ("eq") -
NE("ne") -
LIKE("like") -
ILIKE("ilike")
-
-
String referenceThe reference text. This may include template strings.
-
JsonValue; type "string_check"constantThe object type, which is always
string_check.STRING_CHECK("string_check")
-
-
class EvalGraderTextSimilarity:A TextSimilarityGrader object which grades text based on similarity metrics.
-
double passThresholdThe threshold for the score.
-
-
class EvalGraderPython:A PythonGrader object that runs a python script on the input.
-
Optional<Double> passThresholdThe threshold for the score.
-
-
class EvalGraderScoreModel:A ScoreModelGrader object that uses a model to assign a score to the input.
-
Optional<Double> passThresholdThe threshold for the score.
-
-
-
Example
package com.openai.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.evals.EvalUpdateParams;
import com.openai.models.evals.EvalUpdateResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
EvalUpdateResponse eval = client.evals().update("eval_id");
}
}
Response
{
"id": "id",
"created_at": 0,
"data_source_config": {
"schema": {
"foo": "bar"
},
"type": "custom"
},
"metadata": {
"foo": "string"
},
"name": "Chatbot effectiveness Evaluation",
"object": "eval",
"testing_criteria": [
{
"input": [
{
"content": "string",
"role": "user",
"type": "message"
}
],
"labels": [
"string"
],
"model": "model",
"name": "name",
"passing_labels": [
"string"
],
"type": "label_model"
}
]
}