Conversations sans agent
Le mode modèle direct
Vous n’avez pas toujours besoin de créer un objet Agent pour utiliser l’API Conversations. Mistral permet de démarrer une conversation directement avec un modèle, en bénéficiant de la persistance sans la couche de configuration Agent.
Pourquoi utiliser une conversation sans agent ?
Ce mode est utile quand :
- Vous voulez la persistance des conversations sans définir un agent réutilisable
- Vous testez rapidement un comportement avec des outils intégrés
- Votre cas d’usage est ponctuel — pas besoin de sauvegarder une configuration
- Vous voulez passer des instructions dynamiques à chaque conversation
Démarrer une conversation avec un modèle
Au lieu de passer un agent_id, vous passez directement un model :
from mistralai import Mistral
import os
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
response = client.beta.conversations.start(
model="mistral-medium-latest",
inputs=[
{"role": "user", "content": "Qui est Albert Einstein ?"}
]
)
print(response.outputs[-1].content)
Différence avec agent_id
| Paramètre | Comportement |
|---|---|
agent_id | Utilise la configuration de l’agent (instructions, outils, guardrails) |
model | Mode direct — vous configurez tout dans la requête |
Ajouter des outils en mode direct
Vous pouvez passer des outils directement dans la requête, sans créer d’agent :
response = client.beta.conversations.start(
model="mistral-large-latest",
inputs=[
{"role": "user", "content": "Quels sont les derniers résultats de Ligue 1 ?"}
],
tools=[{"type": "web_search"}]
)
C’est l’équivalent fonctionnel d’un agent avec web_search, mais sans la persistance de la configuration.
Passer des instructions dynamiques
En mode direct, vous pouvez ajouter un message system dans les inputs :
response = client.beta.conversations.start(
model="mistral-large-latest",
inputs=[
{"role": "system", "content": "Vous êtes un expert en cuisine française. Répondez en 3 phrases maximum."},
{"role": "user", "content": "Comment réussir une sauce béarnaise ?"}
]
)
Cela vous donne la même flexibilité que les instructions d’un agent, mais de manière éphémère.
Continuer une conversation en mode direct
Le mécanisme de persistance fonctionne exactement comme avec un agent :
# Premier échange
response1 = client.beta.conversations.start(
model="mistral-large-latest",
inputs=[{"role": "user", "content": "Parle-moi de la révolution française."}]
)
# Deuxième échange — le contexte est conservé
response2 = client.beta.conversations.append(
conversation_id=response1.conversation_id,
inputs="Quels en furent les principaux acteurs ?"
)
# Le modèle sait qu'on parle de la révolution française
Quand créer un agent vs utiliser le mode direct ?
Créez un agent si :
- Vous réutilisez la même configuration pour plusieurs conversations
- Les instructions sont stables et ne changent pas entre les sessions
- Vous avez besoin de handoffs multi-agents
- Vous voulez une configuration centralisée et auditable
Utilisez le mode direct si :
- C’est un usage ponctuel ou un prototype rapide
- Les instructions changent à chaque conversation
- Vous n’avez pas besoin de handoffs
- Vous voulez minimiser les appels API (pas de create/delete agent)
Exemple pratique : chatbot contextuel
def poser_question(contexte: str, question: str):
"""Pose une question dans un contexte donné, sans créer d'agent."""
response = client.beta.conversations.start(
model="mistral-large-latest",
inputs=[
{"role": "system", "content": f"Contexte : {contexte}. Répondez uniquement à partir de ce contexte."},
{"role": "user", "content": question}
]
)
return response.outputs[-1].content
# Usage
reponse = poser_question(
contexte="Corsen AI est une startup française spécialisée en IA souveraine, fondée en 2025.",
question="Quand a été fondée Corsen AI ?"
)
Points clés à retenir
- Les conversations peuvent être démarrées avec
model=au lieu deagent_id= - Le mode direct offre la persistance sans la couche de configuration Agent
- Vous pouvez passer des outils et des instructions directement dans la requête
- Le mode direct est idéal pour le prototypage et les usages ponctuels
- Pour les handoffs et les configurations réutilisables, préférez créer un agent