Documentation Index
Fetch the complete documentation index at: https://docs.bentolabs.ai/llms.txt
Use this file to discover all available pages before exploring further.
Signature
Free-form event name. Becomes
span.name in OTel and the row title in the dashboard.Your stable user identifier. Pass-through string only, no profile data is stored.
Conversation or session ID. Same value across all turns in one conversation links them in the timeline view.
Model identifier, e.g.
claude-3-5-sonnet-20241022 or gpt-4o. Required for cost view and model breakdowns.Provider key. One of
openai, anthropic, google, aws_bedrock, etc. Not auto-inferred from model name.The prompt or input. Strings pass through; dicts and lists are JSON-serialized.
The model output. Same serialization rules as
input.Arbitrary custom dimensions. See Properties.
Multi-turn conversations
Pass the sameconvo_id on every turn:
Structured chat messages
Dicts and lists are JSON-serialized intoinput.value / output.value:
Parenting
track_ai calls are root spans by default. They detach from any caller’s OTel context, so a track_ai inside a customer’s FastAPI or Django span doesn’t get pulled into that trace.
When you call track_ai inside a trajectory opened with bento.begin(...), the call becomes a child of the trajectory span instead.