Explorer
Explorer is your window into production traffic.
It lets you search, filter, and inspect every chat completion event flowing through your Workspace.
Explorer is restricted to Workspace administrators.
What you can do
- Search and filter events by model, tool usage, message content, latency, etc.
- Inspect any conversation records (messages, tool calls, and metadata).
- Export filtered events to Datasets.
- Automate by creating Judges and Campaigns directly from your filter results.
Filter language
Explorer supports a structured filter language.
You write conditions on event fields and combine them with AND, OR, and parentheses.
Available operators
| Operator | Meaning | Example |
|---|---|---|
= | Equals | model_name = "mistral-medium-2508" |
!= | Not equals | model_name != "mistral-medium-2508" |
contains | Substring match | model_name contains "large" |
includes | List contains value | invoked_tools includes "web_search" |
excludes | List doesn't include value | invoked_tools excludes "web_search" |
> | Greater than | total_time_elapsed > 5 |
< | Less than | total_time_elapsed < 2 |
>= | Greater than or equal | total_time_elapsed >= 5 |
<= | Less than or equal | total_time_elapsed <= 2 |
isnull | Is null | api_agent_id isnull False |
length_equals | List length equals | invoked_tools length_equals 3 |
starts_with | Starts with substring | model_name startswith "mistral-med" |
ends_with | Ends with substring | model_name endswith "-2508" |
matches | Regex match | model_name matches ".+-8b-.+" |
Examples
Filter by model and tool usage:
model_name = "mistral-medium-2508" AND invoked_tools includes "web_search"Filter by model family with code output:
(model_name contains "large" OR model_name contains "small") AND invoked_tools includes "code_interpreter"Filter by response time:
total_time_elapsed > 5Combine multiple conditions:
model_name = "mistral-large" AND total_time_elapsed > 5 AND (last_user_message_preview contains "password" OR response_messages_preview contains "error")Use the autocomplete dropdown to select from the suggested fields and values as you type.
Query design tips
- Start broad with a time range, then narrow down.
- Add one business-relevant condition (e.g., a specific tool, feature, or model).
- Add one technical condition (e.g., latency, message content, or specific tools).
- Scan a few results before exporting. Make sure the sample is relevant.
Inspect events
Click any event in the results list to see the full detail view. Each event includes:
- A feed of messages, including the full conversation (user inputs, assistant responses, and system prompts).
- A list of properties (model name, token counts, computation duration, and any tools invoked by the model).
Export to a Dataset
Once you've filtered to a useful set of events, you can export them to a Dataset.
- Select one or more events using the checkboxes
- Click Add to dataset.
- Choose an existing Dataset or create a new one.
Treat Dataset exports as snapshots. Use descriptive names (e.g., support_web_search_2026_02) and clear descriptions to enable accurate comparisons over time.
[Developer] Use Explorer programmatically
All Explorer functionality is available via the SDK. Use it to automate searches, build reporting pipelines, or integrate with custom tooling.
Search for events using the same filter structure as the UI, but expressed as nested dictionaries.
import os
from mistralai.client import Mistral
mistral = Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
)
# Search for events matching specific criteria
result = mistral.beta.observability.chat_completion_events.search(
search_params={
"filters": {
"AND": [
{"field": "timestamp", "op": "gte", "value": "2026-01-15T00:00:00Z"},
{"field": "timestamp", "op": "lte", "value": "2026-01-16T00:00:00Z"},
{"field": "model_name", "op": "eq", "value": "mistral-medium-2508"},
{"field": "invoked_tools", "op": "includes", "value": "web_search"}
]
}
},
extra_fields=["model_name"],
page_size=20
)
print(f"Found {len(result.completion_events.results)} events")
for event in result.completion_events.results:
print(f"{event.event_id}: {event.extra_fields.get('model_name')}")Complex filters with AND/OR:
# Combine conditions with nested AND/OR
events = mistral.beta.observability.chat_completion_events.search(
search_params={
"filters": {
"AND": [
{"field": "model_name", "op": "eq", "value": "mistral-large"},
{"field": "total_time_elapsed", "op": "gt", "value": 5},
{
"OR": [
{"field": "last_user_message_preview", "op": "contains", "value": "password"},
{"field": "invoked_tools", "op": "includes", "value": "web_search"}
]
}
]
}
}
)
print(f"Found {len(events.completion_events.results)} events")