> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# LangChain 概述

> LangChain 是一个开源框架，提供预构建的智能体架构以及与任何模型或工具的集成——因此您可以构建能够随着生态系统演进快速适应的智能体

在不到 10 行代码内，构建完全自定义的、由大语言模型驱动的智能体和应用程序，并集成 [OpenAI、Anthropic、Google 等](/oss/javascript/integrations/providers/overview)。
LangChain 提供预构建的智能体架构和模型集成，帮助您快速入门，并将大语言模型无缝整合到您的智能体和应用程序中。

<Tip>
  **LangChain vs. LangGraph vs. Deep Agents**

  从 [Deep Agents](/oss/javascript/deepagents/overview/) 开始，获取一个“开箱即用”的智能体，具备自动上下文压缩、虚拟文件系统和子智能体生成等功能。Deep Agents 构建于 LangChain [智能体](/oss/javascript/langchain/agents/) 之上，您也可以直接使用 LangChain。

  对于需要结合确定性工作流和智能体工作流的高级需求，请使用我们的底层编排框架 [LangGraph](/oss/javascript/langgraph/overview)。
</Tip>

## <Icon icon="wand" /> 创建一个智能体

<CodeGroup>
  ```ts OpenAI theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/openai
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "gpt-5.4",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts Google Gemini theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/google-genai
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "google-genai:gemini-2.5-flash-lite",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts Claude (Anthropic) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/anthropic
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "claude-sonnet-4-6",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts OpenRouter theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/openrouter
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "openrouter:anthropic/claude-sonnet-4-6",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts Fireworks theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/community
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "fireworks:accounts/fireworks/models/qwen3p5-397b-a17b",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts Baseten theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/community
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "baseten:zai-org/GLM-5",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts Ollama theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/ollama
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "ollama:devstral-2",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts Azure theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/openai
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "azure_openai:gpt-5.4",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```

  ```ts AWS Bedrock theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 首先安装：npm install langchain zod @langchain/aws
  import { createAgent, tool } from "langchain";
  import * as z from "zod";

  const getWeather = tool(
    (input) => `${input.city} 总是阳光明媚！`,
    {
      name: "get_weather",
      description: "获取给定城市的天气",
      schema: z.object({
        city: z.string().describe("要获取天气的城市"),
      }),
    }
  );

  const agent = createAgent({
    model: "bedrock:gpt-5.4",
    tools: [getWeather],
  });

  console.log(
    await agent.invoke({
      messages: [{ role: "user", content: "旧金山的天气怎么样？" }],
    })
  );
  ```
</CodeGroup>

请参阅[安装说明](/oss/javascript/langchain/install)和[快速入门指南](/oss/javascript/langchain/quickstart)，开始使用 LangChain 构建您自己的智能体和应用程序。

<Tip>
  使用 [LangSmith](/langsmith/home) 来跟踪请求、调试智能体行为并评估输出。设置 `LANGSMITH_TRACING=true` 和您的 API 密钥即可开始。
</Tip>

## <Icon icon="star" size={20} /> 核心优势

<Columns cols={2}>
  <Card title="标准模型接口" icon="refresh" href="/oss/javascript/langchain/models" arrow cta="了解更多">
    不同的提供商拥有与模型交互的独特 API，包括响应格式。LangChain 标准化了您与模型交互的方式，使您可以无缝切换提供商并避免锁定。
  </Card>

  <Card title="易于使用、高度灵活的智能体" icon="wand" href="/oss/javascript/langchain/agents" arrow cta="了解更多">
    LangChain 的智能体抽象设计易于上手，让您在不到 10 行代码内构建一个简单的智能体。但它也提供了足够的灵活性，允许您进行所有期望的上下文工程。
  </Card>

  <Card title="构建于 LangGraph 之上" icon="https://mintcdn.com/other-405835d4/zfoblcQReEYa-is2/images/brand/langgraph-icon.png?fit=max&auto=format&n=zfoblcQReEYa-is2&q=85&s=4fe8f4c70fe7b1ddc099d7d83148a043" href="/oss/javascript/langgraph/overview" arrow cta="了解更多" width="195" height="195" data-path="images/brand/langgraph-icon.png">
    LangChain 的智能体构建于 LangGraph 之上。这使我们能够利用 LangGraph 的持久执行、人在回路支持、持久化等功能。
  </Card>

  <Card title="使用 LangSmith 进行调试" icon="https://mintcdn.com/other-405835d4/zfoblcQReEYa-is2/images/brand/observability-icon-dark.png?fit=max&auto=format&n=zfoblcQReEYa-is2&q=85&s=a5ea23e3bf9ca95c33f73f9b2c93339d" href="/langsmith/observability" arrow cta="了解更多" width="200" height="200" data-path="images/brand/observability-icon-dark.png">
    通过可视化工具深入洞察复杂的智能体行为，这些工具可以跟踪执行路径、捕获状态转换并提供详细的运行时指标。
  </Card>
</Columns>

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档](/use-these-docs)通过 MCP 连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/oss/langchain/overview.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
