Skip to main content
BeeAI Framework is a TypeScript / Python framework from IBM for building production-grade AI agents — tools, memory, multi-step reasoning, and pluggable LLM backends. Arize AX captures every BeeAI agent run via the @arizeai/openinference-instrumentation-beeai package.

Prerequisites

Launch Arize AX

  1. Sign in to your Arize AX account.
  2. From Space Settings, copy your Space ID and API Key. You will set them as ARIZE_SPACE_ID and ARIZE_API_KEY below.

Install

@arizeai/openinference-instrumentation-beeai only patches beeai-framework versions in the range >=0.1.9 <0.1.14 (declared as INSTRUMENTS in the instrumentor source); the install command above pins to 0.1.13 to stay inside that range. Newer beeai-framework releases install fine but the instrumentor’s manuallyInstrument(...) returns silently without patching, so no spans are emitted. Pin exactly rather than ^ or ~ — both resolve to the latest matching release, which today is 0.1.29 (out of range). The @ai-sdk/openai package is required because BeeAI declares it as an optional peer dependency — the example uses the OpenAI provider, so it has to be installed explicitly. Track Arize-ai/openinference for an instrumentor update that supports newer beeai-framework releases; once published, drop the version pin.

Configure credentials

Setup tracing

Run BeeAI

Expected output

Verify in Arize AX

  1. Open your Arize AX space and select project beeai-tracing-example.
  2. You should see a new trace within ~30 seconds with this shape: a beeai-framework-main root span (AGENT) wraps agent.toolCalling.start-1 / agent.toolCalling.success-1 (AGENT), tool.dynamic.finalAnswer.{start,finish,success}-1 (TOOL), and backend.openai.chat.{start,finish,success}-1 (LLM, model gpt-5.5) child spans. Prompts, responses, and token usage are attached to the LLM spans.
  3. If no traces appear, see Troubleshooting.

Check from the skill, CLI, or SDK

Confirm spans are actually reaching your Arize AX project. Use whichever fits your workflow — the skill and CLI work for any framework; the SDK check is shown for each language.
Install the Arize Skills plugin and let your coding agent check for you:
Then prompt your agent:
Use the arize-trace skill to export and analyze recent traces from my project. Confirm spans are arriving, and summarize any errors or latency issues.

Troubleshooting

  • No traces in Arize AX. Confirm ARIZE_SPACE_ID and ARIZE_API_KEY are set in the same shell that runs example.ts. Enable OpenTelemetry debug logs with export OTEL_LOG_LEVEL=debug and re-run.
  • BeeAI spans missing. instrumentation.manuallyInstrument(beeaiFramework) must run before any agent is constructed. Make sure import { provider } from "./instrumentation" is the first import in your entry point.
  • 401 from OpenAI. Verify OPENAI_API_KEY is set and has access to gpt-5.5. Swap for a model your key can call.
  • Example runs but no spans appear. The instrumentor only patches beeai-framework versions in its declared INSTRUMENTS range (currently >=0.1.9 <0.1.14). Newer or older releases install fine but manuallyInstrument(...) silently no-ops. Pin to a supported version (the install command above pins to ~0.1.13), or enable OpenTelemetry diag logs (export OTEL_LOG_LEVEL=debug) to see the DependencyConflict warning the instrumentor emits at startup.
  • Cannot find package '@ai-sdk/openai' at runtime. BeeAI declares the @ai-sdk/* provider packages as optional peer dependencies — the user has to install only the ones they use. The example uses OpenAI; if you swap to Anthropic, install @ai-sdk/anthropic instead.
  • Process exits before spans flush. Spans are exported asynchronously; always await provider.forceFlush() (or provider.shutdown()) before the process exits to avoid losing trailing spans.

Resources

BeeAI Framework Documentation

OpenInference BeeAI Instrumentor (JS/TS)

BeeAI Framework GitHub