ChatForge est une application front-end développée avec Svelte.
Elle permet de créer une interface de chat où l’utilisateur peut échanger avec une IA via l’API Mistral, tout en stockant les conversations localement avec PocketBase.
marked
pour le rendu Markdown des messageslocalStorage
pour le token APIGET /collections/conversations/records
POST /collections/conversations/records
DELETE /collections/conversations/records/{id}
GET /collections/message?sort=created
POST /collections/message
POST https://api.mistral.ai/v1/chat/completions
L’application utilise PocketBase pour stocker les conversations et les messages localement.
conversation
Description : contient les conversations de l’utilisateur.
Champs requis :
Champ | Type | Description |
---|---|---|
id |
auto | Identifiant unique généré par PocketBase |
title |
text | Nom de la conversation |
created |
date | Date de création (auto) |
updated |
date | Date de dernière modification (auto) |
message
Description : contient tous les messages échangés dans les conversations.
Champs requis :
Champ | Type | Description |
---|---|---|
id |
auto | Identifiant unique |
role |
text | Rôle du message : user ou assistant |
content |
longtext | Contenu du message |
conversation |
relation → conversation |
Relation vers la conversation à laquelle le message appartient (single) |
created |
date | Date de création (auto) |
updated |
date | Date de dernière modification (auto) |
⚠️ Important : la relation
conversation
dans la collectionmessage
doit être single relation, chaque message appartient à une seule conversation.