Atla Insights supports a wide range of LLM providers and AI agent frameworks. All instrumentation methods share a common interface for easy integration.

LLM Providers

We currently support the following LLM providers:
ProviderInstrumentation FunctionNotes
Anthropicinstrument_anthropicAlso supports AnthropicBedrock client from Anthropic
Google GenAIinstrument_google_genaiE.g., Gemini
LiteLLMinstrument_litellmSupports all available models in the LiteLLM framework
OpenAIinstrument_openai
Bedrockinstrument_bedrock

Basic Provider Usage

from atla_insights import configure, instrument_openai
from openai import OpenAI

configure(token="<MY_ATLA_INSIGHTS_TOKEN>")
instrument_openai()

client = OpenAI()
# All OpenAI calls are now instrumented
By default, instrumented LLM calls will be treated independently from one another. To logically group LLM calls into a trace, use the @instrument decorator.

Agent Frameworks

We currently support the following frameworks:
FrameworkInstrumentation FunctionNotes
Agnoinstrument_agnoSupported with openai, google-genai, litellm and/or anthropic models*
BAMLinstrument_bamlSupported with openai, anthropic or bedrock models*
CrewAIinstrument_crewai
LangChaininstrument_langchainThis includes e.g., LangGraph as well
MCPinstrument_mcpOnly includes context propagation. You will need to instrument the model calling the MCP server separately.
OpenAI Agentsinstrument_openai_agentsSupported with openai, google-genai, litellm and/or anthropic models*
Smolagentsinstrument_smolagentsSupported with openai, google-genai, litellm and/or anthropic models*

Framework + Provider Instrumentation

Some frameworks do not provide their own LLM interface. In these cases, you will need to instrument both the framework and the underlying LLM provider(s).
from atla_insights import configure, instrument_agno

configure(token="<MY_ATLA_INSIGHTS_TOKEN>")

# If you are using a single LLM provider (e.g., via `OpenAIChat`)
instrument_agno("openai")

# If you are using multiple LLM providers (e.g., `OpenAIChat` and `Claude`)
instrument_agno(["anthropic", "openai"])