llm_sdk library

Une trousse à outils unifiée pour parler aux LLM depuis Dart / Flutter.

Multi-provider, streaming, tool calling et sorties structurées derrière une seule interface. Changer d'IA = changer le provider passé au LlmClient.

Classes

ClaudeProvider
Adaptateur pour l'API Messages d'Anthropic (Claude).
GeminiProvider
Adaptateur pour l'API Generative Language de Google (Gemini).
LlmClient
La surface publique du SDK.
LlmProvider
Le contrat que chaque provider (Claude, OpenAI, Gemini) implémente.
LlmResponse
Enveloppe de réponse.
LlmStreamEvent
Événement de streaming typé.
Message
Un message de la conversation.
OpenAIProvider
Adaptateur pour l'API Chat Completions d'OpenAI.
Part
Un morceau de contenu d'un Message.
StreamDone
Fin du flux : porte la réponse assemblée complète.
TextDelta
Un fragment de texte arrivé en streaming.
TextPart
Du texte brut.
Tool
Un outil que le modèle peut demander d'exécuter.
ToolCallDelta
Un appel d'outil complet, une fois ses arguments entièrement reçus.
ToolCallPart
Une demande de l'assistant d'exécuter un outil.
ToolResultPart
Le résultat d'un outil, réinjecté dans la conversation.
Usage
Comptage de tokens, quand le provider le fournit.

Enums

FinishReason
Pourquoi le modèle a arrêté de générer.
Role
Le rôle d'un message dans la conversation.

Exceptions / Errors

LlmException
Erreur renvoyée quand un provider répond avec un statut HTTP non-200, ou qu'une réponse ne peut pas être interprétée.