# Metric Types Reference

## string-check

Compares a field in the dataset against an expected value using a string operation.

```json
{
  "type": "string-check",
  "name": "exact-match",
  "params": {
    "field": "output",
    "expected_field": "expected",
    "operation": "equals"
  }
}
```

**Operations:** `equals`, `contains`, `starts_with`, `ends_with`

**Dataset format:** Each row needs the fields referenced by `field` and `expected_field`:
```jsonl
{"output": "Paris", "expected": "Paris"}
{"output": "The capital is Berlin", "expected": "Berlin"}
```

## tool-calling

Evaluates function/tool call accuracy against expected calls in OpenAI format.

```json
{
  "type": "tool-calling",
  "name": "tool-accuracy"
}
```

**Dataset format:** Each row needs `messages`, `tools`, `expected_tool_calls`, and `response` fields in OpenAI function calling format.

## llm-judge

Uses an LLM to score responses. See [LLM Judge Guide](llm-judge.md) for full documentation.

## zero-config llm-judge

Same as llm-judge but without `prompt_template` and score `parser` — the system auto-generates them. Provide scores with `rubric` instead of `minimum`/`maximum`. See the zero-config section in [LLM Judge Guide](llm-judge.md).
