Phoenix Evals
Build evaluators for AI/LLM applications. Code first, LLM for nuance, validate against humans.
Quick Reference
| Task |
Files |
| Setup |
setup-python, setup-typescript |
| Decide what to evaluate |
evaluators-overview |
| Choose a judge model |
fundamentals-model-selection |
| Use pre-built evaluators |
evaluators-pre-built |
| Build code evaluator |
evaluators-code-python, evaluators-code-typescript |
| Build LLM evaluator |
evaluators-llm-python, evaluators-llm-typescript, evaluators-custom-templates |
| Batch evaluate DataFrame |
evaluate-dataframe-python |
| Run experiment |
experiments-running-python, experiments-running-typescript |
| Create dataset |
experiments-datasets-python, experiments-datasets-typescript |
| Generate synthetic data |
experiments-synthetic-python, experiments-synthetic-typescript |
| Validate evaluator accuracy |
validation, validation-evaluators-python, validation-evaluators-typescript |
| Sample traces for review |
observe-sampling-python, observe-sampling-typescript |
| Analyze errors |
error-analysis, error-analysis-multi-turn, axial-coding |
| RAG evals |
evaluators-rag |
| Avoid common mistakes |
common-mistakes-python, fundamentals-anti-patterns |
| Production |
production-overview, production-guardrails, production-continuous |
Workflows
Starting Fresh:
observe-tracing-setup → error-analysis → axial-coding → evaluators-overview
Building Evaluator:
fundamentals → common-mistakes-python → evaluators-{code|llm}-{python|typescript} → validation-evaluators-{python|typescript}
RAG Systems:
evaluators-rag → evaluators-code-* (retrieval) → evaluators-llm-* (faithfulness)
Production:
production-overview → production-guardrails → production-continuous
Reference Categories
| Prefix |
Description |
fundamentals-* |
Types, scores, anti-patterns |
observe-* |
Tracing, sampling |
error-analysis-* |
Finding failures |
axial-coding-* |
Categorizing failures |
evaluators-* |
Code, LLM, RAG evaluators |
experiments-* |
Datasets, running experiments |
validation-* |
Validating evaluator accuracy against human labels |
production-* |
CI/CD, monitoring |
Key Principles
| Principle |
Action |
| Error analysis first |
Can't automate what you haven't observed |
| Custom > generic |
Build from your failures |
| Code first |
Deterministic before LLM |
| Validate judges |
>80% TPR/TNR |
| Binary > Likert |
Pass/fail, not 1-5 |
1---2name: githubcopilot-phoenix-evals3description: Build and run evaluators for AI/LLM applications using Phoenix.4license: Apache-2.05---67# Phoenix Evals89Build evaluators for AI/LLM applications. Code first, LLM for nuance, validate against humans.1011## Quick Reference1213| Task | Files |14| ---- | ----- |15| Setup | [setup-python](references/setup-python.md), [setup-typescript](references/setup-typescript.md) |16| Decide what to evaluate | [evaluators-overview](references/evaluators-overview.md) |17| Choose a judge model | [fundamentals-model-selection](references/fundamentals-model-selection.md) |18| Use pre-built evaluators | [evaluators-pre-built](references/evaluators-pre-built.md) |19| Build code evaluator | [evaluators-code-python](references/evaluators-code-python.md), [evaluators-code-typescript](references/evaluators-code-typescript.md) |20| Build LLM evaluator | [evaluators-llm-python](references/evaluators-llm-python.md), [evaluators-llm-typescript](references/evaluators-llm-typescript.md), [evaluators-custom-templates](references/evaluators-custom-templates.md) |21| Batch evaluate DataFrame | [evaluate-dataframe-python](references/evaluate-dataframe-python.md) |22| Run experiment | [experiments-running-python](references/experiments-running-python.md), [experiments-running-typescript](references/experiments-running-typescript.md) |23| Create dataset | [experiments-datasets-python](references/experiments-datasets-python.md), [experiments-datasets-typescript](references/experiments-datasets-typescript.md) |24| Generate synthetic data | [experiments-synthetic-python](references/experiments-synthetic-python.md), [experiments-synthetic-typescript](references/experiments-synthetic-typescript.md) |25| Validate evaluator accuracy | [validation](references/validation.md), [validation-evaluators-python](references/validation-evaluators-python.md), [validation-evaluators-typescript](references/validation-evaluators-typescript.md) |26| Sample traces for review | [observe-sampling-python](references/observe-sampling-python.md), [observe-sampling-typescript](references/observe-sampling-typescript.md) |27| Analyze errors | [error-analysis](references/error-analysis.md), [error-analysis-multi-turn](references/error-analysis-multi-turn.md), [axial-coding](references/axial-coding.md) |28| RAG evals | [evaluators-rag](references/evaluators-rag.md) |29| Avoid common mistakes | [common-mistakes-python](references/common-mistakes-python.md), [fundamentals-anti-patterns](references/fundamentals-anti-patterns.md) |30| Production | [production-overview](references/production-overview.md), [production-guardrails](references/production-guardrails.md), [production-continuous](references/production-continuous.md) |3132## Workflows3334**Starting Fresh:**35[observe-tracing-setup](references/observe-tracing-setup.md) → [error-analysis](references/error-analysis.md) → [axial-coding](references/axial-coding.md) → [evaluators-overview](references/evaluators-overview.md)3637**Building Evaluator:**38[fundamentals](references/fundamentals.md) → [common-mistakes-python](references/common-mistakes-python.md) → evaluators-{code|llm}-{python|typescript} → validation-evaluators-{python|typescript}3940**RAG Systems:**41[evaluators-rag](references/evaluators-rag.md) → evaluators-code-* (retrieval) → evaluators-llm-* (faithfulness)4243**Production:**44[production-overview](references/production-overview.md) → [production-guardrails](references/production-guardrails.md) → [production-continuous](references/production-continuous.md)4546## Reference Categories4748| Prefix | Description |49| ------ | ----------- |50| `fundamentals-*` | Types, scores, anti-patterns |51| `observe-*` | Tracing, sampling |52| `error-analysis-*` | Finding failures |53| `axial-coding-*` | Categorizing failures |54| `evaluators-*` | Code, LLM, RAG evaluators |55| `experiments-*` | Datasets, running experiments |56| `validation-*` | Validating evaluator accuracy against human labels |57| `production-*` | CI/CD, monitoring |5859## Key Principles6061| Principle | Action |62| --------- | ------ |63| Error analysis first | Can't automate what you haven't observed |64| Custom > generic | Build from your failures |65| Code first | Deterministic before LLM |66| Validate judges | >80% TPR/TNR |67| Binary > Likert | Pass/fail, not 1-5 |