Acceldata
AIO

Last updated: Oct 01, 2026 12:57 UTC

AI Observability

AI Observability (AIO) helps you understand what your AI application is doing during each interaction.

AIO captures the activity that happens when your application handles a request, including:

  • the user input
  • model calls
  • tool calls
  • MCP interactions
  • outbound HTTP calls
  • token usage
  • errors
  • the relationship between all of these operations

AIO organizes this information into projects, traces, spans, and sessions, so you can inspect both individual AI requests and longer-running conversations.

This page explains how to send telemetry from a Python application to AIO using the acceldata-aio-tracer SDK.

At a high level, you will:

  1. Create an AIO project.
  2. Install the Python SDK.
  3. Initialize the SDK when your application starts.
  4. Wrap each application-level unit of work in aio.root_span().
  5. Run your application and inspect the resulting traces in AIO.

The SDK is based on OpenTelemetry and automatically instruments supported AI libraries that are already installed in your application.

Create an AIO project

Create a project before instrumenting your application.

  1. Open AIO.
  2. Create a new project.
  3. Enter a project name.
  4. Save the project.

After creating the project, copy its connection information. You will use these values when initializing the SDK.

If the access key and secret key are not displayed with the project connection details, create them from the API key configuration in Acceldata Admin.

The collector validates the supplied tenant against the authenticated identity.

You can view the project connection details again later from the project's connection page.

Install the Python SDK

AIO requires Python 3.10 or later.

Install the SDK:

pip install acceldata-aio-tracer

Initialize AIO

Call aio.init() once when your application starts.

Initialize AIO before constructing model clients, HTTP clients, or other supported clients. Instrumentation can attach when libraries are imported or clients are constructed, so clients created before initialization might not be instrumented.

aio.init(
    tenant_id="…",                             # REQUIRED - tenantId
    project_id="…",                            # REQUIRED 
    endpoint="https://demo.acceldata.app/aio", # REQUIRED - AIO server endpoint; also the OTLP target if no collector endpoint is given
    access_key="…",                            # REQUIRED
    secret_key="…",                            # REQUIRED
)

What the initialization values mean

Value

Description

Endpoint

The AIO server. In Acceldata environments, this is typically https://<your-acceldata-host>/aio.

Project ID

The unique identifier of the AIO project. Supply this as project_id.

Access key

The API access key used to authenticate the application.

Secret key

The secret associated with the access key.

Tenant ID

The Acceldata tenant identifier. Supply this as tenant_id.