API de modèle de chat LangChain
Ce document fournit la référence API complète pour init_chat_model() et BaseChatModel.
Paramètres complets de init_chat_model()
| Parameters | Type | Valeur par défaut | Description |
|---|---|---|---|
| model | str ou None | Aucune | Nom du modèle, au format provider:model_name. Passez None pour créer un modèle configurable. |
| model_provider | str ou None | Aucune | Spécifiez le fournisseur séparément. À utiliser lorsque le modèle ne peut pas être déduit automatiquement. |
| configurable_fields | "any" ou list ou None | Aucune | Champs qui peuvent être modifiés à l'exécution. None=modèle fixe, "any"=tout configurable. |
| config_prefix | str ou None | Aucune | Préfixe de clé de configuration dans les scénarios multi-modèles. |
| temperature | float | Varie selon le modèle | Contrôle le caractère aléatoire, 0~2. 0=déterministe, 2=créativité maximale. |
| max_tokens | int | Maximum du modèle | Nombre maximal de tokens de sortie |
| timeout | int/float ou None | Aucune | Délai d'expiration de la requête en secondes |
| max_retries | int | Varie selon le modèle | Nombre de tentatives en cas d'échec |
| base_url | str ou None | URL officielle | Point de terminaison d'API personnalisé |
| rate_limiter | BaseRateLimiter | Aucune | Limiteur de débit |
| top_p | float ou None | Varie selon le modèle | Paramètre d'échantillonnage nucleus, 0~1 |
| stop | list[str] | Aucune | Séquence d'arrêt |
Méthodes de BaseChatModel
| Méthode | Description | Valeur de retour |
|---|---|---|
| invoke(input, config=None, **kwargs) | Appeler le modèle de manière synchrone | AIMessage |
| ainvoke(input, config=None, **kwargs) | Appeler le modèle de manière asynchrone | AIMessage |
| stream(input, config=None, **kwargs) | Appel en streaming de manière synchrone | Iterator[AIMessageChunk] |
| astream(input, config=None, **kwargs) | Appel en streaming de manière asynchrone | AsyncIterator[AIMessageChunk] |
| batch(inputs, config=None, **kwargs) | Appel par lots | list[AIMessage] |
| bind_tools(tools, **kwargs) | Lier la liste d'outils | Runnable[input, AIMessage] |
| with_structured_output(schema, **kwargs) | Lier le schéma de sortie structuré | Runnable[input, BaseModel/dict] |
| bind(**kwargs) | Lier les paramètres d'exécution | Exécutable |
Référence rapide des fournisseurs de modèles pris en charge
| Nom du fournisseur | Paquet d'installation | Exemple de valeur de modèle |
|---|---|---|
| openai | langchain-deepseek | deepseek:deepseek-v4-flash |
| anthropic | langchain-anthropic | anthropic:claude-sonnet-4-5-20250929 |
| deepseek | langchain-deepseek | deepseek:deepseek-chat |
| google_genai | langchain-google-genai | google_genai:gemini-2.5-flash |
| ollama | langchain-ollama | ollama:llama3.2 |
| groq | langchain-groq | groq:llama-3.3-70b |
| xai | langchain-xai | xai:grok-3 |
| mistralai | langchain-mistralai | mistralai:mistral-large |
| openrouter | langchain-openrouter | openrouter:openai/gpt-4o |
| perplexity | langchain-perplexity | perplexity:sonar-pro |
Exemples d'utilisation courants
Exemples
from langchain.chat_models import init_chat_model
# Modèle fixe
model = init_chat_model("deepseek:deepseek-v4-flash", temperature=0)
response = model.invoke("Hello")
# Modèle configurable
model = init_chat_model(configurable_fields=("model", "temperature"))
response = model.invoke("Hello", config={
"configurable": {"model": "deepseek:deepseek-v4-flash", "temperature": 0.3}
})
# Lier les outils
model_with_tools = model.bind_tools([my_tool])
response = model_with_tools.invoke("Interroger la météo")
# Sortie structurée
model_structured = model.with_structured_output(MySchema)
result = model_structured.invoke("Extraire les informations")
# Modèle fixe
model = init_chat_model("deepseek:deepseek-v4-flash", temperature=0)
response = model.invoke("Hello")
# Modèle configurable
model = init_chat_model(configurable_fields=("model", "temperature"))
response = model.invoke("Hello", config={
"configurable": {"model": "deepseek:deepseek-v4-flash", "temperature": 0.3}
})
# Lier les outils
model_with_tools = model.bind_tools([my_tool])
response = model_with_tools.invoke("Interroger la météo")
# Sortie structurée
model_structured = model.with_structured_output(MySchema)
result = model_structured.invoke("Extraire les informations")