LangChain est le framework de reference pour construire des applications avec des LLMs. En entretien, on evalue la capacite a architecturer des agents robustes, pas juste a faire des POCs.
Quels sont les composants principaux de LangChain ?
Qu est-ce que LCEL ? Pourquoi remplace-t-il les anciennes LLMChain ?
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
llm = ChatOpenAI(model='gpt-4o-mini')
# LCEL : composition avec l operateur |
prompt = ChatPromptTemplate.from_template(
'Tu es un expert data. Reponds a : {question}'
)
chain = prompt | llm | StrOutputParser()
result = chain.invoke({'question': 'Qu est-ce que dbt ?'})
# RAG chain avec LCEL
rag_chain = (
{'context': retriever, 'question': RunnablePassthrough()}
| prompt
| llm
| StrOutputParser()
)Comment creez-vous un agent qui peut interroger une base de donnees et chercher sur le web ?
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.tools import tool
import duckdb
@tool
def query_sales_db(query: str) -> str:
'''Execute une requete SQL sur la base de ventes.
Utiliser pour repondre aux questions sur les ventes, CA, clients.'''
try:
conn = duckdb.connect('sales.db')
result = conn.execute(query).fetchdf()
return result.to_string()
except Exception as e:
return f'Erreur SQL : {e}'
@tool
def search_web(query: str) -> str:
'''Recherche sur le web des informations actuelles.'''
# implementation avec Tavily, SerpAPI, etc.
...
tools = [query_sales_db, search_web]
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)Comment gerez-vous la memoire d un chatbot pour maintenir le contexte de la conversation ?
Quand utilisez-vous LangGraph plutot qu un simple agent LangChain ?
Comment deboguez-vous et monitorez-vous un agent LangChain en production ?
| Niveau | Maitrise | Signal GO | NO-GO |
|---|---|---|---|
| Confirme | LCEL, chains simples, RAG avec LangChain | A construit un RAG avec LCEL, connait la syntaxe | | N utilise que les anciennes LLMChain, ne connait pas LCEL |
| Senior | Agents avec tools, LangGraph, LangSmith, production | A deploye un agent avec tools custom, a trace avec LangSmith, connait LangGraph | N a fait que des POCs, ne sait pas monitorer un agent en production |
Premier entretien gratuit. Rapport GO/NO-GO sous 48h.