https://api.doubleword.ai/v1 mirrors OpenAI’s schema, so any OpenAI client works with base_url set to Doubleword. Arize AX captures every Doubleword call via the openinference-instrumentation-openai package — the same instrumentor that covers OpenAI’s hosted API.
Prerequisites
- Python 3.9+
- An Arize AX account (sign up)
- A
DOUBLEWORD_API_KEYfrom the API Keys dashboard at app.doubleword.ai
Launch Arize
- Sign in to your Arize AX account.
- From Space Settings, copy your Space ID and API Key. You will set them as
ARIZE_SPACE_IDandARIZE_API_KEYbelow.
Install
Configure credentials
Setup tracing
Run Doubleword
Expected output
Verify in Arize
- Open your Arize AX space and select project
doubleword-tracing-example. - You should see a new trace within ~30 seconds containing a
ChatCompletionLLM span with the prompt, response, and token usage attached. The model name on the span will be the Doubleword model identifier you used (e.g.deepseek-ai/DeepSeek-V4-Flash). - If no traces appear, see Troubleshooting.
Troubleshooting
- No traces in Arize. Confirm
ARIZE_SPACE_IDandARIZE_API_KEYare set in the same shell that runsexample.py. Enable OpenTelemetry debug logs withexport OTEL_LOG_LEVEL=debugand re-run. - Doubleword spans missing but other spans present.
OpenAIInstrumentor().instrument(...)must run before anyimport openai. Make sureinstrumentation.pyis the first import in your entry point. 401from Doubleword. Use your Doubleword API key (from the Doubleword dashboard), not your OpenAI key. They are different services with different credentials.- Model not found. Use a model identifier from the Doubleword model catalog (e.g.
deepseek-ai/DeepSeek-V4-Flash). Identifiers are case-sensitive and include the publisher prefix.