> ## Documentation Index
> Fetch the complete documentation index at: https://arizeai-433a7140.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cerebras Tracing

> Phoenix provides auto-instrumentation for Cerebras Inference through the OpenAI Python library, since Cerebras exposes an OpenAI-compatible API endpoint.

[Cerebras Inference](https://www.cerebras.ai/) exposes an OpenAI-compatible API for high-speed LLM inference. Set the OpenAI client's `base_url` to Cerebras and use [`openinference-instrumentation-openai`](https://github.com/Arize-ai/openinference/tree/main/python/instrumentation/openinference-instrumentation-openai) to send request, response, token, latency, and error spans to Phoenix.

> [!NOTE]
>
> This is OpenAI SDK instrumentation pointed at Cerebras' OpenAI-compatible endpoint. It is not a separate Cerebras-specific instrumentor.

## Install

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
pip install arize-phoenix-otel openinference-instrumentation-openai openai
```

## Setup

Add your Cerebras API key and the model you want to call, along with your Phoenix connection details, as environment variables:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
export CEREBRAS_API_KEY="<your-cerebras-api-key>"
export CEREBRAS_MODEL="<your-cerebras-model-id>"
export PHOENIX_COLLECTOR_ENDPOINT="<your-phoenix-collector-endpoint>"  # use http://localhost:6006 for local Phoenix
export PHOENIX_API_KEY="<your-phoenix-api-key>"  # required for Phoenix Cloud or authenticated Phoenix
```

Connect your application to Phoenix with the `register` function:

from phoenix.otel import register

&#x20; \# configure the Phoenix tracer
&#x20; tracer\_provider = register(
&#x20; project\_name="my-llm-app", # Default is 'default'
&#x20; auto\_instrument=True # Auto-instrument your app based on installed OI dependencies
&#x20; )

## Run Cerebras

```python theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
import os
import openai

client = openai.OpenAI(
    base_url="https://api.cerebras.ai/v1",
    api_key=os.environ["CEREBRAS_API_KEY"],
)

response = client.chat.completions.create(
    model=os.environ["CEREBRAS_MODEL"],
    messages=[
        {
            "role": "user",
            "content": "Summarize why fast inference still needs observability.",
        },
    ],
)
print(response.choices[0].message.content)
```

## Observe

Now that you have tracing set up, all invocations of the OpenAI client pointed at Cerebras will be streamed to your running Phoenix for observability and evaluation. Each request appears as a `ChatCompletion` LLM span with the prompt, response, model name, token usage, and latency.

## Common Issues

* **No traces in Phoenix**: Confirm `PHOENIX_COLLECTOR_ENDPOINT` (and `PHOENIX_API_KEY` if your Phoenix requires one) is set in the same shell that runs your app
* **Cerebras spans missing**: Call `register()` before you create the OpenAI client, and make sure `openinference-instrumentation-openai` is installed so `auto_instrument=True` picks it up
* **`401` from Cerebras**: Use your Cerebras API key, not your OpenAI key
* **Model not found**: Confirm `CEREBRAS_MODEL` matches a model available in your Cerebras account
* **Base URL**: Ensure you're using `https://api.cerebras.ai/v1` as the base URL

## Resources

> **[Cerebras Inference Documentation](https://inference-docs.cerebras.ai/)**
>
> Cerebras Inference API docs

> **[OpenInference OpenAI Instrumentation](https://github.com/Arize-ai/openinference/tree/main/python/instrumentation/openinference-instrumentation-openai)**
>
> OpenAI instrumentation package
