L'interface MessageFormatterInterface gère la conversion bidirectionnelle entre les entités Doctrine (SynapseMessage) et le format OpenAI canonical utilisé en interne et par les clients LLM.
ArnaudMoncondhuy\SynapseCore\Contract\MessageFormatterInterface
interface MessageFormatterInterface
{
public function entitiesToApiFormat(iterable $entities): array;
public function apiFormatToEntities(array $messages, SynapseConversation $conversation): array;
}
| Méthode | Rôle |
|---|---|
entitiesToApiFormat(iterable $entities): array |
Convertit des entités SynapseMessage vers le format OpenAI canonical (pour l'envoi au LLM). |
apiFormatToEntities(array $messages, SynapseConversation $conversation): array |
Transforme des messages au format API en objets entités prêts à la persistance. |
Synapse Core inclut une implémentation par défaut conforme au standard OpenAI. Vous n'avez besoin d'implémenter cette interface que si vous avez des besoins de transformation très spécifiques :
!!! tip "Conseil" N'implémentez cette interface que si nécessaire. La grande majorité des projets n'ont pas à la personnaliser.
entitiesToApiFormat()// Exemple de sortie (format OpenAI canonical)
[
['role' => 'user', 'content' => 'Bonjour !'],
['role' => 'assistant', 'content' => 'Bonjour, comment puis-je vous aider ?'],
['role' => 'user', 'content' => 'Quelle heure est-il ?'],
]
How can I help you explore Laravel packages today?