API de messages LangChain


Tous les types de messages

TyperôletypeAttributs clésDescription
HumanMessageuserhumancontentMessage utilisateur
AIMessageassistantaicontent, tool_calls, usage_metadataRéponse IA
AIMessageChunkassistantaicontenu (incrémental)Fragment de token de sortie en streaming
SystemMessagesystemsystemcontentInstruction système
ToolMessagetooltoolcontent, tool_call_id, nameRésultat de l'exécution de l'outil
RemoveMessage-supprimeridSupprimer le message spécifié

Types de ContentBlock (contenu multimodal)

TypeDescriptionCas d'utilisation
PlainTextContentBlockTexte brutTexte brut
ImageContentBlockImage (base64 ou URL)Entrée image pour modèles multimodaux
AudioContentBlockAudioSaisie vocale
VideoContentBlockVidéoEntrée vidéo
FileContentBlockFichierEntrée de document
ToolCallDemande d'appel d'outilLe modèle demande d'appeler un outil
ServerToolCallAppel d'outil côté serveurAppel d'outil intégré/MCP

Fonctions utilitaires courantes

FonctionDescriptionSignature
trim_messages()Tronquer l'historique des messages pour l'adapter à la fenêtre de contextetrim_messages(messages, *, max_tokens, strategy, token_counter, include_system, start_on)

Exemples d'utilisation courants

Exemples

from langchain.messages import (
    HumanMessage, AIMessage, SystemMessage, ToolMessage, trim_messages
)

# Créer un message
human = HumanMessage(content="Bonjour")
system = SystemMessage(content="Vous êtes un assistant")
ai = AIMessage(content="Bonjour ! Comment puis-je vous aider ?")
tool = ToolMessage(content="Résultat", tool_call_id="call_1", name="my_tool")

# Raccourci
msg1 = ("user", "Bonjour")          # Tuple
msg2 = {"role": "user", "content": "Bonjour"}  # Dictionnaire

# Attributs du message
print(human.type)   # human
print(human.content)  # Bonjour
print(ai.tool_calls)  # [] ou [ToolCall]

# Tronquer les messages
trimmed = trim_messages(
    messages, max_tokens=1000, strategy="last",
    token_counter=model, include_system=True,
)
Autres extensions