Skip to main content
Every supported framework follows the same pattern: pass a flag to init() (or call the framework subpackage’s install() directly for more control), and DecimalAI auto-captures traces, tool calls, and the underlying manifest.
import decimalai
decimalai.init(api_key="dai_sk_...", openai_agents=True)

Supported frameworks

OpenAI Agents SDK

Deepest integration. Full manifest from agent introspection.

LangChain & LangGraph

Callback handler. Chains, AgentExecutor, LangGraph all auto-traced.

LlamaIndex

Query engines, retrievers, synthesizers via the LlamaIndex callback system.

CrewAI

Crews, tasks, agent conversations via OpenTelemetry.

AutoGen / AG2

Conversation-turn-based agents via OpenTelemetry.

Generic OpenTelemetry

Any framework emitting OTel gen_ai.* semantic-convention spans.

Capability comparison

FrameworkAuto-detected manifestTool schema depthHandoffs / multi-agent
OpenAI Agents (with install(agent=...))✅ fullFull schemas
LangChain / LangGraph✅ fullFull schemas
LlamaIndex✅ partialNames only
CrewAI✅ partialNames only
AutoGen / AG2✅ partialNames only✅ (group chat)
Generic OTel❌ (register manually)
“Names only” means DecimalAI knows which tool was called but not its full input schema. If schema-aware manifests matter for your use case (e.g. you want the regression check to flag schema changes), use the explicit register_manifest() form for those frameworks.

Module-level reference

ModuleFunctionUse it for
decimalai.openai_agentsinstall(agent=...)OpenAI Agents SDK — pass the Agent object for full schema introspection
decimalai.langchaininstall()LangChain / LangGraph callbacks
decimalai.llamaindexinstall()LlamaIndex span handler
decimalai.autogeninstall()AutoGen / AG2 via OpenTelemetry
decimalai.otelinstall()Generic OpenTelemetry GenAI span exporter
CrewAI ships through the same OTel-based pathway as AutoGen — there’s no decimalai.crewai subpackage; the init(crewai=True) flag is the canonical entry.

What’s next

Tracing

Manual decorators if you need custom span boundaries inside an instrumented framework.

Manifests

Override the auto-detected manifest when needed.