learn.chetana.fr

LangChain, les abstractions qui comptent

15 min readCore

Pourquoi apprendre LangChain (mĂȘme sans l'utiliser partout)

LangChain est la lingua franca de l'Ă©cosystĂšme LLM Python : ses abstractions structurent la documentation, les tutoriels, les intĂ©grations — et LangGraph est bĂąti sur son socle (langchain-core). Comprendre sa grammaire, c'est pouvoir lire 90 % du code IA qui circule.

Les briques, de bas en haut

Messages et chat models

from langchain_anthropic import ChatAnthropic
from langchain_core.messages import SystemMessage, HumanMessage

llm = ChatAnthropic(model="claude-sonnet-4-6")
reponse = await llm.ainvoke([
    SystemMessage("Tu es un assistant de vente B2B."),
    HumanMessage("Reformule : 'BOUL. INOX 50MM x100'"),
])

BaseChatModel est l'interface unique multi-providers : changer Anthropic pour Mistral = changer une ligne. Les messages (System/Human/AI/ToolMessage) sont le vocabulaire commun — tu les retrouveras tels quels dans le state LangGraph.

Prompts et output parsers

from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
    ("system", "Tu extrais des lignes de commande."),
    ("human", "{document}"),
])

Les templates rendent les prompts paramétrés et versionnables. CÎté sortie, with_structured_output(MonModelePydantic) fait ce que tu as vu au module 4 (tool forcé + validation) en une ligne.

LCEL : composer avec |

LangChain Expression Language : tout est un Runnable qui se pipe :

chain = prompt | llm.with_structured_output(StructuredOrder)
result = await chain.ainvoke({"document": texte})

La chaĂźne obtenue sait faire invoke, ainvoke, stream, batch — la composition apporte gratuitement le streaming et le parallĂ©lisme.

Tools

from langchain_core.tools import tool

@tool
async def get_stock(sku: str) -> int:
    """Retourne le stock disponible pour un SKU."""    # la docstring EST la description
    ...
llm_with_tools = llm.bind_tools([get_stock])

Le dĂ©corateur dĂ©rive le schĂ©ma JSON des type hints — la version framework du ToolDefinition maison du module 4.

đŸ§© Quiz1/3

L'intĂ©rĂȘt central de BaseChatModel :

🃏 Flashcards1/4