init() (or call the framework subpackage’s install() directly for more control), and DecimalAI auto-captures traces, tool calls, and the underlying manifest.
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
| Framework | Auto-detected manifest | Tool schema depth | Handoffs / multi-agent |
|---|---|---|---|
OpenAI Agents (with install(agent=...)) | ✅ full | Full schemas | ✅ |
| LangChain / LangGraph | ✅ full | Full schemas | ✅ |
| LlamaIndex | ✅ partial | Names only | — |
| CrewAI | ✅ partial | Names only | ✅ |
| AutoGen / AG2 | ✅ partial | Names only | ✅ (group chat) |
| Generic OTel | ❌ (register manually) | — | — |
register_manifest() form for those frameworks.
Module-level reference
| Module | Function | Use it for |
|---|---|---|
decimalai.openai_agents | install(agent=...) | OpenAI Agents SDK — pass the Agent object for full schema introspection |
decimalai.langchain | install() | LangChain / LangGraph callbacks |
decimalai.llamaindex | install() | LlamaIndex span handler |
decimalai.autogen | install() | AutoGen / AG2 via OpenTelemetry |
decimalai.otel | install() | Generic OpenTelemetry GenAI span exporter |
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.