The EvalsClient is the primary synchronous interface for managing model evaluation lifecycles. The typical workflow involves:
- Initialize: Create an
APIClient and pass it to EvalsClient. - Create: Call
create_evaluation to register a new evaluation session. - Push: Use
push_samples to upload model outputs and scores. - Finalize: Call
finalize_evaluation to close the evaluation and submit final metrics.
Commonly used methods include get_evaluation, list_evaluations, and get_samples for retrieving data.
from prime_evals import APIClient, EvalsClient
# Initialize client
api_client = APIClient(api_key="your-api-key")
client = EvalsClient(api_client)
# Create an evaluation
eval_response = client.create_evaluation(
name="gsm8k-gpt4o-baseline",
model_name="gpt-4o-mini",
dataset="gsm8k",
framework="verifiers",
metadata={
"version": "1.0",
"num_examples": 10,
"temperature": 0.7,
}
)
eval_id = eval_response["evaluation_id"]
# Push samples
samples = [
{
"example_id": 0,
"reward": 1.0,
"correct": True,
"answer": "18",
"prompt": [{"role": "user", "content": "What is 9+9?"}],
"completion": [{"role": "assistant", "content": "The answer is 18."}],
}
]
client.push_samples(eval_id, samples)
# Finalize with metrics
metrics = {
"avg_reward": 0.87,
"avg_correctness": 0.82,
"success_rate": 0.87,
}
client.finalize_evaluation(eval_id, metrics=metrics)