--- name: langchain description: Build agents with a prebuilt architecture and integrations for any model or tool. Use when creating tool-calling agents, switching model providers, or adding structured output. license: MIT compatibility: Python 3.10+, Node.js 22+ metadata: author: langchain-ai version: "1.0" --- # LangChain LangChain is an open-source framework with a prebuilt agent architecture and integrations for any model or tool. Build agents and LLM-powered applications in under 10 lines of code, with integrations for OpenAI, Anthropic, Google, and hundreds more. ## When to use Use LangChain when you need to: - **Build tool-calling agents** with `create_agent()` and a prebuilt agent loop - **Switch model providers** without changing application code via `init_chat_model()` - **Add structured output** to parse LLM responses into typed objects - **Integrate with any model or tool** using LangChain's provider packages - **Use middleware** for cross-cutting concerns like rate limiting and caching ## When NOT to use - For complex multi-step workflows with custom control flow, use [LangGraph](https://docs.langchain.com/oss/langgraph/overview) instead - For a batteries-included agent with planning, subagents, and context management, use [Deep Agents](https://docs.langchain.com/oss/deepagents/overview) instead - LangChain provides the **core building blocks**; LangGraph adds orchestration; Deep Agents adds high-level capabilities on top ## Install ```bash # Python pip install -U langchain # JavaScript/TypeScript npm install langchain @langchain/core ``` Install a provider integration: ```bash # Python pip install -U langchain-openai # or langchain-anthropic, langchain-google-genai # JavaScript/TypeScript npm install @langchain/openai # or @langchain/anthropic, @langchain/google-genai ``` ## Quick reference ### Create an agent ```python from langchain.agents import create_agent def get_weather(city: str) -> str: """Get weather for a given city.""" return f"It's always sunny in {city}!" agent = create_agent( model="openai:gpt-5.5", tools=[get_weather], system_prompt="You are a helpful assistant", ) result = agent.invoke( {"messages": [{"role": "user", "content": "What is the weather in SF?"}]} ) ``` ### Initialize a chat model ```python from langchain.chat_models import init_chat_model # Switch providers by changing the string model = init_chat_model("openai:gpt-5.5") model = init_chat_model("anthropic:claude-opus-4-8") model = init_chat_model("google_genai:gemini-3.6-flash") ``` ### Define a tool ```python from langchain.tools import tool @tool def search(query: str) -> str: """Search the web for information.""" return "search results" ``` ## Gotchas 1. **Snake_case tool names**—Tool function names must be valid Python identifiers. Use `get_weather`, not `get-weather`. 2. **Reserved parameters**—Do not name tool parameters `type`, `name`, or `description` as these conflict with the tool schema. 3. **Provider packages**—Models live in separate packages (e.g., `langchain-openai`). The base `langchain` package does not include providers. 4. **Model string format**—Use `"provider:model-name"` format with `init_chat_model()` (e.g., `"openai:gpt-5.5"`). ## Key documentation - [Overview](https://docs.langchain.com/oss/langchain/overview)—What LangChain is and how to get started - [Quickstart](https://docs.langchain.com/oss/langchain/quickstart)—Build your first agent - [Agents](https://docs.langchain.com/oss/langchain/agents)—Prebuilt agent architecture - [Models](https://docs.langchain.com/oss/langchain/models)—Chat models and provider integrations - [Tools](https://docs.langchain.com/oss/langchain/tools)—Define and use tools - [Structured output](https://docs.langchain.com/oss/langchain/structured-output)—Parse LLM responses into typed objects - [MCP integration](https://docs.langchain.com/oss/langchain/mcp)—Use Model Context Protocol servers as tools ## API reference For SDK class and method details, use the [LangChain API Reference](https://reference.langchain.com) site: - Browse: `https://reference.langchain.com/python/langchain-core` - MCP server: `https://reference.langchain.com/mcp` ## Related skills - **langgraph**—Low-level orchestration for stateful, durable agent workflows - **deep-agents**—Batteries-included agent harness built on LangChain - **langsmith**—Trace, evaluate, and deploy your LangChain agents