API Chat & Conversations¶
Endpoints de gestion des conversations et messages.
POST /chat/conversations¶
Créer une nouvelle conversation.
Request¶
Response 201¶
{
"id": "uuid",
"title": "Nouvelle conversation",
"system_prompt": "Tu es un assistant utile.",
"created_at": "2026-01-16T10:00:00Z",
"message_count": 0
}
GET /chat/conversations¶
Lister les conversations de l'utilisateur.
Query Parameters¶
| Param | Type | Default | Description |
|---|---|---|---|
skip | int | 0 | Offset pagination |
limit | int | 20 | Nombre (max 100) |
archived | bool | false | Inclure archivées |
Response 200¶
{
"items": [
{
"id": "uuid",
"title": "Conversation 1",
"created_at": "2026-01-16T10:00:00Z",
"message_count": 15,
"last_message_preview": "Merci pour..."
}
],
"total": 42
}
GET /chat/conversations/{id}¶
Récupérer une conversation avec ses messages.
Response 200¶
{
"id": "uuid",
"title": "Ma conversation",
"messages": [
{
"id": "uuid",
"role": "user",
"content": "Bonjour!",
"created_at": "2026-01-16T10:00:00Z"
},
{
"id": "uuid",
"role": "assistant",
"content": "Bonjour! Comment puis-je vous aider?",
"metadata": {
"model": "claude-3-sonnet",
"tokens_used": 45
}
}
]
}
POST /chat/conversations/{id}/messages¶
Envoyer un message dans une conversation.
Request¶
Response 200¶
{
"user_message": {
"id": "uuid",
"role": "user",
"content": "Peux-tu m'expliquer le concept de RAG?"
},
"assistant_message": {
"id": "uuid",
"role": "assistant",
"content": "RAG (Retrieval-Augmented Generation) est...",
"metadata": {
"model": "claude-3-sonnet",
"tokens_input": 120,
"tokens_output": 450,
"latency_ms": 1200,
"llm_provider": "anthropic",
"sensitivity_score": 0.1
}
}
}
Routage LLM¶
Le sensitivity_score détermine le routage:
- > 0.7: LLM local (Ollama) - données sensibles
- < 0.7: LLM cloud (Claude/GPT)
DELETE /chat/conversations/{id}¶
Archiver une conversation.