Complete reference for DeepEval adapter configuration options.
The DeepEval adapter uses the standard EvalHub JobSpec structure:
"provider_id" : " deepeval " ,
"benchmark_id" : " string " ,
"experiment_name" : " string " ,
Parameter Type Description Example idstring Unique job identifier "deepeval-faithfulness-001"provider_idstring Must be "deepeval" "deepeval"benchmark_idstring Benchmark to run (see Benchmarks ) "faithfulness"model.namestring Name of the evaluated model "gpt-4o"model.urlstring OpenAI-compatible endpoint for the evaluated model "https://api.openai.com/v1"
Parameter Type Description Default benchmark_indexinteger Index when running multiple benchmarks 0experiment_namestring MLflow experiment name for result tracking nullparametersobject DeepEval-specific configuration (see below) {}test_data_refobject S3 reference for the evaluation dataset nullcallback_urlstring EvalHub service callback URL null
Eight benchmarks are available across two evaluation modes. See Benchmarks for the full reference including required dataset columns and output metrics.
Benchmark ID Name Mode Category faithfulnessFaithfulness Single-turn RAG evaluation relevancyAnswer Relevancy Single-turn RAG evaluation hallucinationHallucination Single-turn Safety correctnessCorrectness Single-turn Accuracy summarizationSummarization Single-turn NLP conversation-completenessConversation Completeness Multi-turn Multi-turn role-adherenceRole Adherence Multi-turn Multi-turn knowledge-retentionKnowledge Retention Multi-turn Multi-turn
All configuration is specified in the parameters object of the JobSpec.
Parameter Type Description Default eval_model_namestring Name of the judge model model.nameeval_model_urlstring Base URL of the judge model endpoint model.url
Separate Judge Endpoint
The judge model defaults to the same model being evaluated. To use a separate, more capable model as judge (a common pattern), set eval_model_name and eval_model_url to point to a different endpoint. Any OpenAI-compatible server is supported.
Parameter Type Description Default thresholdfloat Minimum score for a test case to pass 0.5
Parameter Type Description Default dataset_formatstring Input dataset format: csv, jsonl, or json csvdata_dirstring Path to dataset directory Auto-resolved
Data resolution order (when data_dir is not set):
/test_data/ — populated by EvalHub’s S3 init container
/data/
Use JSONL for Multi-Turn
Multi-turn benchmarks (conversation-completeness, role-adherence, knowledge-retention) require a turns field containing a list of conversation turns. JSONL or JSON formats are strongly recommended because they represent this natively. CSV requires the turns field to be a JSON-encoded string, which is error-prone.
Parameter Type Description Default max_concurrentinteger Maximum test cases evaluated concurrently 1throttle_valuefloat Seconds to wait between test case evaluations 0
Parameter Type Description Default per_attempt_timeout_secondsfloat Per-attempt timeout for each LLM judge call 300.0retry_max_attemptsinteger Total LLM call attempts per metric (including first) 2retry_cap_secondsfloat Maximum backoff between retry attempts 5.0
Reasoning Models
The default timeout of 300 seconds accommodates reasoning models (e.g. DeepSeek-R1, Phi-4) that emit long chain-of-thought sequences before producing a response token. If your judge is a fast, non-reasoning model, reduce per_attempt_timeout_seconds to detect failures earlier.
Parameter Type Description Default chatbot_rolestring Chatbot persona for Role Adherence benchmark null
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
Variable Description Example MLFLOW_TRACKING_URIMLflow server URL http://mlflow-service:5000MLFLOW_EXPERIMENTDefault experiment name (overridden by experiment_name in JobSpec) deepeval-evals
See the MLflow guide for setup and configuration details.
Variable Description Required Default EVALHUB_MODEExecution mode: k8s or local No k8sEVALHUB_JOB_SPEC_PATHPath to the job spec JSON file Yes (local mode) /meta/job.jsonOPENAI_API_KEYAPI key for OpenAI-compatible judge endpoint When using OpenAI — ANTHROPIC_API_KEYAPI key for Anthropic judge endpoint When using Anthropic — DEEPEVAL_CACHE_DIRDeepEval cache directory No /tmpMLFLOW_TRACKING_URIMLflow server URL When using MLflow — MLFLOW_EXPERIMENTMLflow experiment name (fallback) No —
"id" : " faithfulness-test-001 " ,
"provider_id" : " deepeval " ,
"benchmark_id" : " faithfulness " ,
"experiment_name" : " faithfulness-eval " ,
"url" : " https://api.openai.com/v1 " ,
"secret_ref" : " openai-api-key-secret "
"eval_model_name" : " gpt-4o " ,
"eval_model_url" : " https://api.openai.com/v1 " ,
"per_attempt_timeout_seconds" : 60.0 ,
"retry_cap_seconds" : 10.0
"bucket" : " deepeval-datasets " ,
"name" : " deepeval-data-bucket " ,
"namespace" : " your-namespace "
"callback_url" : " http://evalhub-service:8080 "