> ## Documentation Index
> Fetch the complete documentation index at: https://docs.honeyhive.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> The key concepts behind the HoneyHive Platform

HoneyHive helps you observe, evaluate, and iterate on AI applications. HoneyHive's abstractions have been designed for maximal extensibility & reusability. All concepts are minimally opinionated.

***

## Project

Everything in HoneyHive is organized by projects. A project is a logically-separated workspace to develop, evaluate, and monitor a specific AI agent or an end-to-end application leveraging one or multiple agents.

***

## Observability

### Session

A `session` is a collection of events that represent a single user interaction with your application. Sessions can trace a single agent execution or an end-to-end user conversation with multiple turns, depending on your configuration.

### Event

An `event` tracks the execution of a specific operation in your application, along with inputs, outputs, metadata, and feedback. This is synonymous with a single span in a trace.

Events have three types:

| Type    | Use Case                                     |
| ------- | -------------------------------------------- |
| `model` | LLM API calls (OpenAI, Anthropic, etc.)      |
| `tool`  | External calls (vector DBs, APIs, functions) |
| `chain` | Logical groupings of multiple events         |

Events can be enriched with **metrics** (numeric scores like latency, cost, or custom evaluations), **feedback** (user ratings or corrections), **metadata** (custom key-value pairs), and **user properties** (user ID, tier, etc.).

Full details on the wide-event data model can be found in [Tracing Introduction](/v2/tracing/introduction).

<Frame>
  <img src="https://mintcdn.com/honeyhiveai/sFOpWw98R-jnkhpC/images/product-traces.png?fit=max&auto=format&n=sFOpWw98R-jnkhpC&q=85&s=99d66a25e27f2188b49cc0185ec8b607" alt="Trace visualization showing nested events within a session" width="3024" height="1560" data-path="images/product-traces.png" />
</Frame>

<Card title="Tracing Introduction" icon="route" href="/v2/tracing/introduction">
  Data model, OpenTelemetry architecture, and context propagation.
</Card>

***

## Evaluation

### Datapoint

A datapoint is an input-output pair (with optional ground truth and metadata) that represents a single test case. Datapoints can be created manually or saved directly from production traces.

<Frame>
  <img src="https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-datapoint.png?fit=max&auto=format&n=EWG3R5yYrwNnHjQ7&q=85&s=76b7381517d0c5be5c634f0e03a3e194" alt="Datapoint showing inputs, outputs, and linked trace" width="3024" height="1564" data-path="images/product-datapoint.png" />
</Frame>

Each datapoint has a unique `datapoint_id` used to track it across experiments and comparisons. Datapoints link back to the events that generated them.

### Dataset

A dataset is a collection of datapoints used to run evaluations, compare model versions, or fine-tune custom models.

Datasets can be exported and used programmatically in your CI pipelines. Learn more in [Datasets](/v2/datasets/introduction).

### Experiment Run

An experiment run executes your application against a dataset and scores the outputs with evaluators. Experiments track metrics across all datapoints, enabling you to compare different versions of your application.

<Frame>
  <img src="https://mintcdn.com/honeyhiveai/VY6XDocpo3PwSrYR/images/product-experiment-run.png?fit=max&auto=format&n=VY6XDocpo3PwSrYR&q=85&s=974ed7a823e63c7465576750d3ecd2b6" alt="Experiment results showing metrics aggregated across datapoints" width="3024" height="1564" data-path="images/product-experiment-run.png" />
</Frame>

You can apply aggregation functions, filter results, and drill into individual traces:

<Frame>
  <img src="https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-regressions.png?fit=max&auto=format&n=EWG3R5yYrwNnHjQ7&q=85&s=23932c9a312f4408b289b87b36c0d8ae" alt="Regression comparison between two experiment runs" width="3024" height="1566" data-path="images/product-regressions.png" />
</Frame>

Two experiment runs can be compared when their sessions share a common `datapoint_id` in metadata.

### Evaluator

An evaluator is a function that scores your application's outputs. Evaluators can be:

* **Python functions** - Custom logic you define
* **LLM-as-judge** - Use an LLM to assess quality
* **Human evaluation** - Route to annotation queues

<Frame>
  <img src="https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-code.png?fit=max&auto=format&n=EWG3R5yYrwNnHjQ7&q=85&s=ba616b85f884ec63d70847e3d62fc0b5" alt="Python evaluator code in the HoneyHive editor" width="3024" height="1562" data-path="images/product-code.png" />
</Frame>

Evaluators run client-side (in your environment) or server-side (on HoneyHive's infrastructure). Learn more in [Evaluators](/v2/evaluators/introduction).

<Card title="Evaluation Framework" icon="flask-vial" href="/v2/evaluation/concepts">
  Understand the evaluation philosophy and how datasets, experiments, and evaluators work together.
</Card>

***

## Prompt

A prompt is a versioned configuration for an LLM call. It includes the model name, provider, prompt template, and hyperparameters (temperature, tools, etc.).

<Frame>
  <img src="https://mintcdn.com/honeyhiveai/EWG3R5yYrwNnHjQ7/images/product-prompts.png?fit=max&auto=format&n=EWG3R5yYrwNnHjQ7&q=85&s=f69662f3ea6bc1c742e416c698695d24" alt="Prompt editor showing template and configuration" width="3024" height="1562" data-path="images/product-prompts.png" />
</Frame>

The Playground lets you iterate on prompts and "vibe-check" models. Domain experts can independently improve prompts based on evaluation results, then deploy changes without engineering involvement. Learn more in [Prompts](/v2/prompts/overview).

***

## Deep Dives

<CardGroup cols={2}>
  <Card title="Tracing Introduction" icon="route" href="/v2/tracing/introduction">
    Wide-event data model, OpenTelemetry, BYOI architecture, and multi-instance tracing.
  </Card>

  <Card title="Enrichment Schema" icon="table" href="/v2/tracing/enrichment-schema">
    Reference for enrichment namespaces and data types.
  </Card>
</CardGroup>
