Aller au contenu principal

Explorer : Filtrer et Inspecter le Trafic de Production

Mis à jour le 29 juillet 2026

L’Explorer : votre fenêtre sur la production

L’Explorer est le point d’entrée de l’observabilité Mistral. Il vous permet de rechercher, filtrer et inspecter chaque événement de chat completion généré par vos applications en production. Considérez-le comme un moteur de recherche dédié à votre trafic IA.

L’accès est restreint aux administrateurs de Workspace. Chaque événement contient la conversation complète (messages, réponses, tools calls), les métadonnées techniques (modèle, latence, tokens) et les annotations éventuelles.

Les opérateurs de filtre

La richesse du filtrage n’est pas un luxe : c’est ce qui sépare « regarder passer le trafic » de « répondre à une question précise ». Retrouver toutes les conversations où un outil donné a été appelé avec une latence anormale, ou celles où l’utilisateur mentionne un concurrent, demande de combiner des critères techniques et des critères de contenu — d’où les douze opérateurs :

model_name = "mistral-medium-2508"
model_name != "mistral-small-latest"
model_name contains "large"
invoked_tools includes "web_search"
invoked_tools excludes "code_interpreter"
total_time_elapsed > 5
total_time_elapsed <= 2
api_agent_id isnull False
invoked_tools length_equals 3
model_name starts_with "mistral-med"
model_name ends_with "-2508"
model_name matches ".+-8b-.+"

Ces opérateurs se combinent pour créer des requêtes précises. Vous pouvez filtrer par modèle, par outil invoqué, par latence, par contenu du message utilisateur, et bien plus.

Utilisation via l’interface

  1. Dans la sidebar de la console Mistral, cliquez sur Observe puis Explorer
  2. Sélectionnez une plage de temps (7 derniers jours est un bon point de départ)
  3. Ajoutez des filtres progressivement

Approche recommandée

La bonne méthode consiste à commencer large puis à affiner, exactement comme on resserre une recherche dans des logs. Partez d’une plage de temps et d’un modèle : vous voyez le volume global et repérez d’un coup d’œil les anomalies évidentes. Ajoutez ensuite une condition métier — un outil invoqué, une fonctionnalité — pour isoler le segment de trafic qui vous intéresse, puis une condition technique comme la latence ou le contenu du message pour cerner le problème précis. Ce n’est qu’à ce moment, sur un ensemble réduit à quelques dizaines d’événements, que l’inspection individuelle devient rentable : ouvrir chaque conversation, lire les échanges, comprendre ce qui s’est réellement passé.

Exemples de requêtes utiles

# Requêtes lentes (> 5 secondes)
total_time_elapsed > 5

# Conversations utilisant la recherche web
invoked_tools includes "web_search"

# Requêtes sur la réinitialisation de mot de passe
last_user_message_preview contains "reset password"

# Événements d'un agent spécifique
api_agent_id isnull False

Utilisation via le SDK Python

Pour automatiser vos analyses, utilisez le SDK :

from mistralai import Mistral

client = Mistral(api_key="votre-clé-api")

# Rechercher les événements des 7 derniers jours
result = client.beta.observability.chat_completion_events.search(
    search_params={
        "filters": {
            "AND": [
                {
                    "field": "timestamp",
                    "op": "gte",
                    "value": "2026-03-27T00:00:00Z"
                },
                {
                    "field": "model_name",
                    "op": "eq",
                    "value": "mistral-medium-2508"
                }
            ]
        }
    },
    page_size=20
)

for event in result.data:
    print(f"ID: {event.id}")
    print(f"Modèle: {event.model_name}")
    print(f"Latence: {event.total_time_elapsed}s")
    print(f"Tokens: {event.usage.total_tokens}")
    print("---")

Filtres combinés (AND)

# Requêtes lentes utilisant un outil spécifique
result = client.beta.observability.chat_completion_events.search(
    search_params={
        "filters": {
            "AND": [
                {
                    "field": "total_time_elapsed",
                    "op": "gt",
                    "value": 5
                },
                {
                    "field": "invoked_tools",
                    "op": "includes",
                    "value": "web_search"
                },
                {
                    "field": "timestamp",
                    "op": "gte",
                    "value": "2026-03-01T00:00:00Z"
                }
            ]
        }
    },
    page_size=50
)

Pagination

def fetch_all_events(client, filters, batch_size=100):
    """Récupère tous les événements avec pagination."""
    all_events = []
    offset = 0

    while True:
        result = client.beta.observability.chat_completion_events.search(
            search_params={"filters": filters},
            page_size=batch_size,
            offset=offset
        )

        if not result.data:
            break

        all_events.extend(result.data)
        offset += batch_size

    return all_events

Export vers un Dataset

L’export vers un Dataset est le geste qui transforme l’observation en amélioration. Une requête filtrée intéressante — les conversations où le modèle a échoué, celles qui traitent d’un sujet sensible — devient en un clic un jeu de données réutilisable : pour faire tourner un Judge dessus, pour du fine-tuning, ou simplement comme jeu de non-régression avant le prochain changement de prompt. Cette fonctionnalité est accessible via l’interface (bouton “Actions > Ajouter au Dataset”) ou via le SDK.

Points clés à retenir

  • L’Explorer est le moteur de recherche de votre trafic IA de production
  • Douze opérateurs de filtre permettent des requêtes précises et combinées
  • Commencez large (plage + modèle) puis affinez avec des conditions business et techniques
  • Le SDK Python permet d’automatiser les analyses et la pagination
  • Les événements filtrés peuvent être exportés vers des Datasets pour itération