Skip to main content
HoneyHive provides a list of server-side evaluator templates for some of the most commonly used metrics across autonomous agents, RAG, and other use-cases.
In this document, we will cover how to properly set up tracing in your application to ensure the required information is captured in the expected format for server-side evaluators. Additionally, we will provide a detailed list of Python and LLM evaluator templates, complete with code examples and descriptions for each, to help you implement and customize them for your specific use case.
These templates provide ready-to-use examples. For detailed instructions on creating custom evaluators from scratch, see the Python Evaluators and LLM Evaluators documentation.

Configuring Tracing for Server-Side Evaluators

Server-side evaluators operate on event objects, so when instrumenting your application for sending traces to HoneyHive, you need to ensure the correct event properties are being captured and traced. For example, suppose you want to set up a Python evaluator that requires both the model’s response and a provided ground truth, as well as an LLM evaluator that requires the model’s response and a provided context. In this case, you can wrap your model call within a function and enrich the event object with the necessary properties:
The traced function will automatically be mapped to a chain event, as it groups together a model event within it. The chain event will be named after the traced function. When setting up an evaluator in HoneyHive for the example above, follow these steps:
  1. Select Filters
    • event type: chain
    • event name: generate_response
  2. Accessing properties
    • For Python Evaluators:
      • Access output content with event["outputs"]["result"]
      • Access ground truth with event["feedback"]["ground_truth"]
      • Access context with event["inputs"]["context"]
    • For LLM Evaluators:
      • Access output content with {{ outputs.result }}
      • Access ground truth with {{ feedback.ground_truth }}
      • Access context with {{ inputs.context }}
For instance, creating a custom Python evaluator that uses the output from the response along with the provided ground truth would look like this:
While creating an LLM custom evaluator that uses the response’s output in combination with the provided context would look like this:

Python Evaluator Templates

Remember to adjust the event attributes in the code to align with your setup, as demonstrated in the tracing section above.

Response length

Python
Measures response verbosity by counting words. Useful for controlling output length and monitoring response size.

Semantic Similarity

Measures semantic similarity between model output and ground truth using OpenAI embedding models.

Levenshtein Distance

Calculates normalized Levenshtein distance between model output and ground truth. Returns a score between 0 and 1, where 1 indicates perfect match.

ROUGE-L

Calculates ROUGE-L (Longest Common Subsequence) F1 score between generated and reference texts. Scores range 0-1, with higher values indicating better alignment.

BLEU

Calculates BLEU score, measuring translation quality by comparing n-gram overlap between system output and reference text.

JSON Schema Validation

Validates JSON output against a predefined schema. Ideal for ensuring consistent API responses or structured data output.

SQL Parse Check

Validates SQL syntax using SQLGlot parser. Essential for database query generation and SQL-related applications.

Flesch Reading Ease

Calculates text readability score. Higher scores (0-100) indicate easier reading. Useful for ensuring content accessibility.

JSON Key Coverage

Analyzes completeness of JSON array outputs by checking for required fields. Returns count of missing fields.

Tokens per Second

Calculates token generation speed. Useful for performance monitoring and optimization.

Keywords Assertion

Checks for presence of required keywords in output. Useful for ensuring coverage of specific topics or requirements.

OpenAI Moderation Filter

Uses OpenAI Moderation API to check content safety. Returns true if content is flagged for review.

External API Example

Template for external API integration. Demonstrates proper error handling and response processing.

Compilation Success

Validates Python code syntax without execution. Essential for code generation applications.

Precision/Recall/F1 Metrics

Computes classification metrics (precision, recall, F1-score) for evaluating prediction quality against ground truth labels.

LLM Evaluator Templates

Remember to adjust the event attributes in the code to align with your setup, as demonstrated in the tracing section above.

Answer Faitfhulness

Evaluates if the answer is faithful to the provided context in RAG systems

Answer Relevance

Evaluates if the answer is relevant to the user query

Context Relevance

Evaluates if the retrieved context is relevant to the user query in RAG systems

Format Adherence

Evaluates if the response follows the required format and structure

Tool Usage

Evaluates if the AI assistant uses the correct tools appropriately

Intent Identification

Evaluates if the AI correctly identifies and addresses the user intent

Toxicity

Evaluates the response for harmful, toxic, or inappropriate content

Coherence

Evaluates if the response is logically structured and well-organized

Chain-of-Thought Faithfulness

Evaluates logical consistency and validity of chain-of-thought reasoning in agent systems

Plan Coverage

Evaluates whether the agent’s plan comprehensively addresses all requirements and constraints

Trajectory Plan Faithfulness

Evaluates alignment between planned and executed actions in agent systems (session-level)

Failure Recovery

Evaluates the agent’s ability to detect and recover from errors gracefully (session-level)

Policy Compliance

Evaluates adherence to specified policies, rules, and regulatory requirements

Harm Avoidance

Evaluates whether the response avoids harmful, unsafe, or inappropriate content

Context Coverage

Evaluates effective utilization of provided context in RAG systems

Tone Appropriateness

Evaluates whether the response maintains appropriate tone for the given context

Translation Fluency

Evaluates the naturalness and grammatical correctness of translated text

Coding Agent Evaluator Templates

These templates are designed for evaluating coding agent sessions. They classify and assess sessions across key dimensions: what kind of work was done, its strategic type, how complex it was, and how specific the developer’s prompt was.
Coding agent templates use inputs and outputs (top-level): These evaluators assess entire coding agent sessions, so they use {{ inputs }} for the user prompt and {{ outputs }} for the agent’s full session output. For example, {{ inputs }} might resolve to the user’s prompt string, and {{ outputs }} to the full agent session log.

Task Category

Classifies a coding agent session into one of 12 work categories.

Work Type

Classifies sessions by strategic work type: Maintenance (KTLO), Bug Fixing, or New Features.

Task Complexity

Rates task complexity on a 1-5 scale based on scope, technical depth, and reasoning required.

Prompt Specificity

Prompt Specificity only uses {{ inputs }}: This evaluator intentionally omits {{ outputs }} because it evaluates only the user’s prompt, not the agent’s response.
Measures how specific and actionable the developer’s prompt is on a 1-5 scale.

Multi-Agent Evaluator Templates

These templates evaluate coordination quality in multi-agent systems - how well agents hand off work, stay in scope, and produce coherent combined outputs.
Multi-agent templates use inputs and outputs (top-level): These evaluators assess agent handoffs, delegation plans, session traces, and assembled outputs. For example, {{ inputs }} might contain the agent’s role definition or task context, and {{ outputs }} might contain the agent’s actions or assembled output.

Handoff Completeness

Evaluates whether an agent’s output contains everything the downstream agent needs to continue the task.

Integration Coherence

Assesses whether assembled multi-agent outputs form a coherent, unified whole.

Scope Adherence

Evaluates whether an agent stayed within its assigned decision space and responsibilities.

Escalation Appropriateness

Checks whether agents appropriately flag uncertainty and escalate issues before they become errors.

Delegation Appropriateness

Evaluates whether the orchestrator chose the right decomposition strategy for the task’s complexity.

Information Sufficiency

Checks whether agents received the right amount of context, not too much and not too little.

Role Clarity

Evaluates whether agents have clear, non-overlapping responsibilities.

Retrospective Quality

Assesses the depth of an agent’s self-reflection and error analysis after completing a task.