CohereInstrumentor
captures Cohere v2 chat requests, responses, tool calls, and token counts as
OpenInference LLM spans in Arize AX.
It records input and output messages, invocation parameters, tool schemas and
calls, tool-result links, usage.tokens, and the cohere provider and system
attributes. Streaming chat_stream calls are traced when their streams are
consumed.
Prerequisites
- Python 3.10+
- An Arize AX account (sign up)
- A
CO_API_KEYfrom the Cohere dashboard - Cohere Python client version 5.13.0 or later
Launch Arize AX
- 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 Cohere
Expected output
Verify in Arize AX
- Open your Arize AX space and select project
cohere-tracing-example. - You should see a new trace within ~30 seconds with a
ClientV2.chatLLM span. - 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.- Arize skill (agent)
- AX CLI
- SDK
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. Run
CohereInstrumentor().instrument(...)before constructing the client. - Authentication failed. Check that
CO_API_KEYis set to an active Cohere API key. - No span for an endpoint. Only v2
ClientV2andAsyncClientV2chat andchat_streamcalls are traced. The v1cohere.Clientclient, embed, rerank, and classify endpoints are not traced.