AI / LangGraph LangChain Interview questions
How do you use ChatModels in LangChain?
ChatModels in LangChain are LLM wrappers that communicate using a message-based format. Instead of passing a raw string, you pass a list of typed messages: SystemMessage, HumanMessage, and AIMessage. This maps directly to the roles used by OpenAI, Anthropic, and similar APIs.
from langchain_openai import ChatOpenAI from langchain_core.messages import SystemMessage, HumanMessage llm = ChatOpenAI( model="gpt-4o", temperature=0.7, max_tokens=512, ) messages = [ SystemMessage(content="You are a helpful Python tutor."), HumanMessage(content="Explain list comprehensions in Python."), ] response = llm.invoke(messages) print(response.content) # AIMessage with text response print(response.usage_metadata) # token counts
ChatModels also support streaming so you can print tokens as they arrive:
for chunk in llm.stream(messages): print(chunk.content, end="", flush=True)
Other providers follow the same API: ChatAnthropic, ChatGoogleGenerativeAI, ChatMistralAI. Switching providers requires only changing the import and class name; the rest of the chain remains identical.
More Related questions...