Skip to content

Configuration Reference

Complete reference for DeepEval adapter configuration options.

The DeepEval adapter uses the standard EvalHub JobSpec structure:

{
"id": "string",
"provider_id": "deepeval",
"benchmark_id": "string",
"benchmark_index": 0,
"experiment_name": "string",
"model": {
"url": "string",
"name": "string",
"auth": {
"secret_ref": "string"
}
},
"parameters": {
"threshold": 0.5
},
"test_data_ref": {
"s3": {
"bucket": "string",
"path": "string",
"secret_ref": {
"name": "string",
"namespace": "string"
}
}
},
"callback_url": "string"
}
ParameterTypeDescriptionExample
idstringUnique job identifier"deepeval-faithfulness-001"
provider_idstringMust be "deepeval""deepeval"
benchmark_idstringBenchmark to run (see Benchmarks)"faithfulness"
model.namestringName of the evaluated model"gpt-4o"
model.urlstringOpenAI-compatible endpoint for the evaluated model"https://api.openai.com/v1"
ParameterTypeDescriptionDefault
benchmark_indexintegerIndex when running multiple benchmarks0
experiment_namestringMLflow experiment name for result trackingnull
parametersobjectDeepEval-specific configuration (see below){}
test_data_refobjectS3 reference for the evaluation datasetnull
callback_urlstringEvalHub service callback URLnull

Eight benchmarks are available across two evaluation modes. See Benchmarks for the full reference including required dataset columns and output metrics.

Benchmark IDNameModeCategory
faithfulnessFaithfulnessSingle-turnRAG evaluation
relevancyAnswer RelevancySingle-turnRAG evaluation
hallucinationHallucinationSingle-turnSafety
correctnessCorrectnessSingle-turnAccuracy
summarizationSummarizationSingle-turnNLP
conversation-completenessConversation CompletenessMulti-turnMulti-turn
role-adherenceRole AdherenceMulti-turnMulti-turn
knowledge-retentionKnowledge RetentionMulti-turnMulti-turn

All configuration is specified in the parameters object of the JobSpec.

ParameterTypeDescriptionDefault
eval_model_namestringName of the judge modelmodel.name
eval_model_urlstringBase URL of the judge model endpointmodel.url
ParameterTypeDescriptionDefault
thresholdfloatMinimum score for a test case to pass0.5
ParameterTypeDescriptionDefault
dataset_formatstringInput dataset format: csv, jsonl, or jsoncsv
data_dirstringPath to dataset directoryAuto-resolved

Data resolution order (when data_dir is not set):

  1. /test_data/ — populated by EvalHub’s S3 init container
  2. /data/
ParameterTypeDescriptionDefault
max_concurrentintegerMaximum test cases evaluated concurrently1
throttle_valuefloatSeconds to wait between test case evaluations0
ParameterTypeDescriptionDefault
per_attempt_timeout_secondsfloatPer-attempt timeout for each LLM judge call300.0
retry_max_attemptsintegerTotal LLM call attempts per metric (including first)2
retry_cap_secondsfloatMaximum backoff between retry attempts5.0
ParameterTypeDescriptionDefault
chatbot_rolestringChatbot persona for Role Adherence benchmarknull

chatbot_role can also be provided per record in the dataset as a chatbot_role column, which takes precedence over the parameter value.

When experiment_name is set in the JobSpec and MLFLOW_TRACKING_URI is configured, the adapter logs evaluation results to MLflow automatically.

For each completed evaluation, the adapter logs:

  • Metrics: Primary score for the benchmark (e.g. faithfulness_score, hallucination_score)
  • Parameters: benchmark_id, threshold, eval_model_name, dataset_format, num_test_cases
  • Tags: provider_id, job_id
VariableDescriptionExample
MLFLOW_TRACKING_URIMLflow server URLhttp://mlflow-service:5000
MLFLOW_EXPERIMENTDefault experiment name (overridden by experiment_name in JobSpec)deepeval-evals

See the MLflow guide for setup and configuration details.

VariableDescriptionRequiredDefault
EVALHUB_MODEExecution mode: k8s or localNok8s
EVALHUB_JOB_SPEC_PATHPath to the job spec JSON fileYes (local mode)/meta/job.json
OPENAI_API_KEYAPI key for OpenAI-compatible judge endpointWhen using OpenAI
ANTHROPIC_API_KEYAPI key for Anthropic judge endpointWhen using Anthropic
DEEPEVAL_CACHE_DIRDeepEval cache directoryNo/tmp
MLFLOW_TRACKING_URIMLflow server URLWhen using MLflow
MLFLOW_EXPERIMENTMLflow experiment name (fallback)No
{
"id": "faithfulness-test-001",
"provider_id": "deepeval",
"benchmark_id": "faithfulness",
"benchmark_index": 0,
"experiment_name": "faithfulness-eval",
"model": {
"url": "https://api.openai.com/v1",
"name": "gpt-4o",
"auth": {
"secret_ref": "openai-api-key-secret"
}
},
"parameters": {
"eval_model_name": "gpt-4o",
"eval_model_url": "https://api.openai.com/v1",
"threshold": 0.7,
"dataset_format": "csv",
"max_concurrent": 2,
"throttle_value": 0.5,
"per_attempt_timeout_seconds": 60.0,
"retry_max_attempts": 3,
"retry_cap_seconds": 10.0
},
"test_data_ref": {
"s3": {
"bucket": "deepeval-datasets",
"path": "faithfulness/",
"secret_ref": {
"name": "deepeval-data-bucket",
"namespace": "your-namespace"
}
}
},
"callback_url": "http://evalhub-service:8080"
}