Evaluation
Evaluating the output of your agentic system
Configuring your application
"autoload-dev": {
"psr-4": {
...,
"App\\Evaluators\\": "evaluators/"
}
},Creating Evaluators
vendor/bin/neuron make:evaluator App\\Neuron\\Evaluators\\AgentEvaluator.\vendor\bin\neuron make:evaluators App\Neuron\Evaluators\AgentEvaluatornamespace App\Neuron\Evaluators;
use NeuronAI\Evaluation\Assertions\StringContains;
use NeuronAI\Evaluation\BaseEvaluator;
use NeuronAI\Evaluation\Contracts\DatasetInterface;
use NeuronAI\Evaluation\Dataset\JsonDataset;
class AgentEvaluator extends BaseEvaluator
{
/**
* 1. Get the dataset to evaluate against
*/
public function getDataset(): DatasetInterface
{
return new JsonDataset(__DIR__ . '/datasets/dataset.json');
}
/**
* 2. Run the agent logic being tested
*/
public function run(array $datasetItem): mixed
{
$response = MyAgent::make()->chat(
new UserMessage($datasetItem['input'])
)->getMessage();
return $response->getContent();
}
/**
* 3. Evaluate the output against expected results, with assertions
*/
public function evaluate(mixed $output, array $datasetItem): void
{
$this->assert(
new StringContains($datasetItem['reference']),
$output,
);
}
} Defining The Dataset Loader
ArrayDataset
JsonDataset
Running Evaluations
Output Interfaces
Config File
Creating Custom Output
Available Assertions
Creating Custom Assertions
Last updated