---
title: "Integrations"
description: "Choose the Judgment integration that matches how your application creates and exports traces."
sidebar:
  label: "Integrations"
seo:
  title: "Judgment Integrations Docs | Trace AI Agents Across Frameworks and Providers"
  description: "Connect Judgment with agent frameworks, model providers, tracing providers, and application instrumentation for production AI monitoring."
---

Choose one primary instrumentation path:

- Use a **framework integration** when your agent framework is listed below.
- Use a **model-provider integration** when your application calls that model
  client directly and no framework integration already captures the call.
- Use an **OpenTelemetry export** when your application already emits spans.

After setup, run one real agent path and [verify the resulting
trace](/documentation/tracing/instrumentation#verify-before-you-claim-success). Add custom
[attributes](/documentation/tracing/attributes) only after the basic trace is
complete.

> **Avoid duplicate spans**
>
> Do not stack framework, model-provider, and manual instrumentation around the
> same call. Start with the highest-level supported integration and add lower
> layers only for work it does not already capture.

> **Info**
>
> If you cannot find the integration you are looking for, feel free to [create
> an issue](https://github.com/JudgmentLabs/judgeval/issues) on our GitHub
> repository.

## Framework auto-instrumentation

Start here when your application uses a supported agent framework. These guides
capture the framework's agent steps, model calls, and tool calls with minimal
changes to your application.

<CardGroup cols={3}>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/agent-frameworks/langgraph"
    logoSize="wordmark"
    title="LangGraph"
  >

    ![LangGraph](/blume-assets/content/docs/images/langgraph-logo-light.svg)


  </IntegrationCard>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/agent-frameworks/openai-agents"
    title="OpenAI Agents SDK"
  >

    ![OpenAI Agents SDK](/blume-assets/content/docs/images/openai-agents-logo-light.svg)


  </IntegrationCard>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/agent-frameworks/claude-agent-sdk"
    title="Claude Agent SDK"
  >

    ![Claude Agent SDK](/blume-assets/content/docs/images/anthropic_icon.png)


  </IntegrationCard>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/agent-frameworks/pipecat"
    title="Pipecat"
  >

    ![Pipecat](/blume-assets/content/docs/images/pipecat.svg)


  </IntegrationCard>
  <IntegrationCard
    dark="monochrome"
    href="/documentation/integrations/agent-frameworks/vercel-ai-sdk"
    logoSize="wordmark"
    title="Vercel AI SDK"
  >

    ![Vercel AI SDK](/blume-assets/content/docs/images/vercel-ai-sdk.svg)


  </IntegrationCard>
  <IntegrationCard
    dark="monochrome"
    href="/documentation/integrations/agent-frameworks/livekit"
    title="LiveKit Agents"
  >

    ![LiveKit Agents](/blume-assets/content/docs/images/livekit-symbol.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/agent-frameworks/google-adk"
    title="Google ADK"
  >

    ![Google ADK](/blume-assets/content/docs/images/google-adk.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/agent-frameworks/openclaw"
    logoSize="compact"
    title="OpenClaw"
  >

    ![OpenClaw](/blume-assets/content/docs/images/openclaw-mascot.svg)


  </IntegrationCard>
</CardGroup>

## Model-provider instrumentation

Choose a provider guide when your application calls a supported model client
directly. Provider instrumentation captures model requests, responses, token
usage, and other available model metadata.

<CardGroup cols={3}>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/model-providers/openai"
    title="OpenAI"
  >

    ![OpenAI](/blume-assets/content/docs/images/openai-agents-logo-light.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/openrouter"
    title="OpenRouter"
  >

    ![OpenRouter](/blume-assets/content/docs/images/openrouter-glyph.svg)


  </IntegrationCard>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/model-providers/anthropic"
    title="Anthropic"
  >

    ![Anthropic](/blume-assets/content/docs/images/anthropic_icon.png)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/google"
    title="Google Gemini"
  >

    ![Google Gemini](/blume-assets/content/docs/images/google_gemini_icon.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/together_ai"
    title="Together AI"
  >

    ![Together AI](/blume-assets/content/docs/images/togetherai-logo.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/groq"
    title="Groq"
  >

    ![Groq](/blume-assets/content/docs/images/groq_icon.png)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/huggingface"
    title="HuggingFace"
  >

    ![HuggingFace](/blume-assets/content/docs/images/huggingface_icon.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/vertexai"
    title="Vertex AI"
  >

    ![Vertex AI](/blume-assets/content/docs/images/vertex_ai.png)


  </IntegrationCard>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/model-providers/ollama"
    title="Ollama"
  >

    ![Ollama](/blume-assets/content/docs/images/ollama_icon.png)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/model-providers/aws_bedrock"
    title="AWS Bedrock"
  >

    ![AWS Bedrock](/blume-assets/content/docs/images/aws-bedrock.svg)


  </IntegrationCard>
  <IntegrationCard
    dark="invert"
    href="/documentation/integrations/model-providers/litellm"
    title="LiteLLM"
  >

    ![LiteLLM](/blume-assets/content/docs/images/litellm_icon_dark.svg)


  </IntegrationCard>
</CardGroup>

## Direct or dual OTEL export

Use Direct OTEL when Judgment is your trace destination. Use Dual Export when
the same spans must also reach another OpenTelemetry-compatible backend.

<CardGroup cols={3}>
  <IntegrationCard
    href="/documentation/integrations/tracing-providers/direct-otel"
    title="Direct OTEL"
  >

    ![Direct OTEL](/blume-assets/content/docs/images/opentelemetry-logo.png)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/tracing-providers/dual-export"
    title="Dual Export"
  >

    ![Dual Export](/blume-assets/content/docs/images/opentelemetry-logo.png)


  </IntegrationCard>
</CardGroup>

If your application already uses one of these tracing libraries, keep that
instrumentation and configure its OpenTelemetry export path for Judgment:

<CardGroup cols={3}>
  <IntegrationCard
    href="/documentation/integrations/tracing-providers/openlit"
    title="OpenLit"
  >

    ![OpenLit](/blume-assets/content/docs/images/openlit-logo.png)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/tracing-providers/openinference"
    title="OpenInference"
  >

    ![OpenInference](/blume-assets/content/docs/images/openinference-icon.svg)


  </IntegrationCard>
  <IntegrationCard
    href="/documentation/integrations/tracing-providers/openllmetry"
    title="OpenLLMetry"
  >

    ![OpenLLMetry](/blume-assets/content/docs/images/openllmetry-icon.png)


  </IntegrationCard>
</CardGroup>

## Other runtime and library instrumentation

Use standard OpenTelemetry instrumentation to capture supporting work in web
frameworks, HTTP clients, databases, queues, and serverless runtimes alongside
your agent and model spans.

<CardGroup cols={3}>
  <Card title="FastAPI" href="/documentation/integrations/other/fastapi" />
  <Card title="Starlette" href="/documentation/integrations/other/starlette" />
  <Card title="Flask" href="/documentation/integrations/other/flask" />
  <Card title="Django" href="/documentation/integrations/other/django" />
  <Card title="AIOHTTP Server" href="/documentation/integrations/other/aiohttp-server" />
  <Card title="ASGI" href="/documentation/integrations/other/asgi" />
  <Card title="WSGI" href="/documentation/integrations/other/wsgi" />
  <Card title="HTTPX" href="/documentation/integrations/other/httpx" />
  <Card title="Requests" href="/documentation/integrations/other/requests" />
  <Card title="AIOHTTP Client" href="/documentation/integrations/other/aiohttp-client" />
  <Card title="SQLAlchemy" href="/documentation/integrations/other/sqlalchemy" />
  <Card title="Psycopg" href="/documentation/integrations/other/psycopg" />
  <Card title="AsyncPG" href="/documentation/integrations/other/asyncpg" />
  <Card title="PyMongo" href="/documentation/integrations/other/pymongo" />
  <Card title="MySQL" href="/documentation/integrations/other/mysql" />
  <Card title="SQLite3" href="/documentation/integrations/other/sqlite3" />
  <Card title="Redis" href="/documentation/integrations/other/redis" />
  <Card title="Celery" href="/documentation/integrations/other/celery" />
  <Card title="Temporal" href="/documentation/integrations/other/temporal" />
  <Card title="AWS Lambda" href="/documentation/integrations/other/aws-lambda" />
</CardGroup>
