Classes de configuration et d'erreur LangChain
Options de configuration de RunnableConfig
| Champ | Type | Description |
|---|---|---|
| configurable | dict | Configuration d'exécution. Le plus couramment utilisé : thread_id pour Checkpointer |
| recursion_limit | int | Profondeur de récursion maximale (par défaut 9999) |
| metadata | dict | Métadonnées supplémentaires |
| tags | list[str] | Liste des tags pour filtrer et regrouper les traces |
| callbacks | list[BaseCallbackHandler] | Gestionnaires de rappel |
Exemple
config = {
"configurable": {"thread_id": "user-001"},
"metadata": {"source": "web"},
"tags": ["production", "chat"],
}
result = agent.invoke(inputs, config=config)
"configurable": {"thread_id": "user-001"},
"metadata": {"source": "web"},
"tags": ["production", "chat"],
}
result = agent.invoke(inputs, config=config)
Classes d'implémentation de Checkpointer
| Classe | Chemin d'import | Persistance |
|---|---|---|
| InMemorySaver | langgraph.checkpoint.memory | non |
| SqliteSaver | langgraph.checkpoint.sqlite | Oui |
| PostgresSaver | langgraph.checkpoint.postgres | Oui |
Exemple
# Mémoire
from langgraph.checkpoint.memory import InMemorySaver
checkpointer = InMemorySaver()
# SQLite
from langgraph.checkpoint.sqlite import SqliteSaver
checkpointer = SqliteSaver.from_conn_string("checkpoints.db")
# PostgreSQL
# from langgraph.checkpoint.postgres import PostgresSaver
# checkpointer = PostgresSaver.from_conn_string("postgresql://...")
from langgraph.checkpoint.memory import InMemorySaver
checkpointer = InMemorySaver()
# SQLite
from langgraph.checkpoint.sqlite import SqliteSaver
checkpointer = SqliteSaver.from_conn_string("checkpoints.db")
# PostgreSQL
# from langgraph.checkpoint.postgres import PostgresSaver
# checkpointer = PostgresSaver.from_conn_string("postgresql://...")
Classes d'implémentation de Store
| Classe | Chemin d'import | Persistance |
|---|---|---|
| InMemoryStore | langgraph.store.memory | non |
| PostgresStore | langgraph.store.postgres | Oui |
Exemple
from langgraph.store.memory import InMemoryStore
store = InMemoryStore()
store.put(("namespace",), "key", {"data": "value"})
item = store.get(("namespace",), "key")
items = store.search(("namespace",))
store.delete(("namespace",), "key")
store = InMemoryStore()
store.put(("namespace",), "key", {"data": "value"})
item = store.get(("namespace",), "key")
items = store.search(("namespace",))
store.delete(("namespace",), "key")
Classes d'exception courantes
| Exception | Source | Description |
|---|---|---|
| ToolException | langchain.tools | Exception à l'intérieur d'un outil. L'Agent peut l'intercepter et redécider |
| ImportError | Intégré à Python | Paquet de dépendance manquant. Le message d'erreur suggérera la commande d'installation |
| ValueError | Intégré à Python | Échec de validation de paramètre ou erreur de configuration |
| NotImplementedError | Intégré à Python | Méthode de middleware non implémentée (par ex., seule la version synchrone est définie mais elle est appelée de manière asynchrone) |
| StructuredOutputError | langchain.agents.structured_output | Erreurs liées à la sortie structurée (format incompatible, sorties multiples, etc.) |
| StructuredOutputValidationError | langchain.agents.structured_output | Échec de validation de la sortie structurée |
| MultipleStructuredOutputsError | langchain.agents.structured_output | Le modèle a renvoyé plusieurs sorties structurées |
| TimeoutError | Intégré à Python / divers SDKs | Délai d’attente de la requête |
Liste de vérification de la configuration LaunchDarkly
| Élément à vérifier | Commande/Méthode |
|---|---|
| Version de Python | python --version (nécessite 3.10+) |
| version de langchain | python -c "import langchain; print(langchain.__version__)" |
| Installation des dépendances | pip list | grep langchain |
| Configuration de la clé API | python -c "import os; from dotenv import load_dotenv; load_dotenv(); print(os.getenv('DEEPSEEK_API_KEY', 'NOT SET')[:10])" |
| Connectivité du modèle | Utilisez init_chat_model() pour envoyer une requête simple à des fins de test |
Autres extensionsLa référence API de ce tutoriel est basée sur LangChain v1.3.0. Comme LangChain évolue encore rapidement, il est recommandé de consulter la documentation officielle la plus récente pour obtenir les informations API les plus à jour.