01 - Langchainjs 学习-引言

5 阅读4分钟

01-Introduction 章节总结

章节概述

本章介绍了 LangChain.js 的基础知识,包括它是什么、为什么存在,以及如何使用它进行第一次 AI 调用。

主要要点

1. LangChain.js 是什么

LangChain.js 是一个用于构建基于大语言模型(LLM)的 AI 应用的框架。

解决的问题

  • 无需为每个 LLM 提供商(OpenAI、Anthropic、Azure 等)编写不同的代码
  • 无需自己构建提示管理系统
  • 无需从头创建自定义工具和函数调用逻辑
  • 无需从头实现内存和对话处理
  • 无需在没有任何结构的情况下构建代理系统

提供的解决方案

  • 提供商抽象 - 通过最少的代码更改在 OpenAI、Azure、Anthropic 之间切换
  • 提示模板 - 可重用、可测试的提示
  • 工具 - 使用自定义函数和 API 扩展 AI
  • 内存 - 内置对话历史
  • 代理 - 可以使用工具的决策型 AI

2. 硬件商店类比

LangChain.js 就像 AI 开发的"硬件商店":

  • 🔨 预构建组件(聊天模型、提示、工具)
  • 🧱 高质量抽象(适用于任何 LLM 提供商)
  • 📋 模式(常见的 AI 应用设计)
  • 🔄 可组合性(无缝协作的组件)

3. 核心概念概述

LangChain.js 围绕 5 个核心概念构建:

  1. Models(模型):处理输入并生成输出的 AI "大脑"
  2. Prompts(提示):使用可重用模板与 AI 模型通信的方式
  3. Tools(工具):使用外部函数和 API 扩展 AI 功能
  4. Agents(代理):可以自主决定使用哪些工具的 AI 系统
  5. Memory(内存):在交互之间记住上下文

4. 第一个 LLM 调用

Hello World 示例

import { ChatOpenAI } from "@langchain/openai";
import "dotenv/config";

const model = new ChatOpenAI({
  model: process.env.AI_MODEL,
  configuration: { baseURL: process.env.AI_ENDPOINT },
  apiKey: process.env.AI_API_KEY
});

const response = await model.invoke("What is LangChain in one sentence?");
console.log("🤖 AI Response:", response.content);

关键配置

  • model:指定使用哪个 AI 模型(如 gpt-5-minigpt-5
  • configuration.baseURL:告诉应用程序在哪里找到 AI 服务
  • apiKey:提供身份验证凭据

环境变量的好处

  • 凭证不硬编码在代码中
  • 只需更新 .env 文件即可切换提供商
  • 就像在通讯录中更改电话号码 - 相同的呼叫过程,不同的目的地

5. 理解消息类型

LLM 在结构化对话中效果最好。LangChain.js 提供了将系统指令(SystemMessage)与用户输入(HumanMessage)分离的消息类型。

消息类型

  • SystemMessage:设置 AI 的行为和个性
  • HumanMessage:用户输入
  • AIMessage:AI 的响应(通常自动添加)

使用消息而不是字符串的好处

  • 更好地控制 AI 行为
  • 维护对话上下文
  • 更强大和灵活

6. 比较模型

GitHub Models 提供对多个 AI 模型的访问。可以编程方式并排比较不同模型。

比较要点

  • gpt-5:更强大但成本更高
  • gpt-5-mini:更快且更便宜
  • 选择基于需求:速度 vs 能力

7. 提供商切换

无需更改代码即可在 GitHub Models 和 Microsoft Foundry 之间切换,只需更新 .env 文件中的环境变量。

学习目标

完成本章后,你应该能够:

  • ✅ 理解 LangChain.js 是什么以及为什么存在
  • ✅ 识别常见的 AI 应用模式
  • ✅ 设置开发环境
  • ✅ 使用 GitHub Models 进行第一次 LLM 调用

关键要点

  • LangChain.js 是一个抽象层 - 它在不同的 LLM 提供商之间提供一致的接口
  • 基于可组合组件构建 - 模型、提示、工具、代理和内存协同工作
  • GitHub Models 提供免费访问 - 非常适合学习和原型设计
  • Microsoft Foundry 是生产就绪的 - 只需更改 .env 文件中的环境变量即可随时切换
  • 消息有类型 - SystemMessage、HumanMessage 和 AIMessage 具有不同的用途

实际应用

  • 聊天机器人和虚拟助手:使用模型、内存和系统消息来维护有用的对话
  • 内容生成工具:使用提示和模板创建一致、高质量的内容
  • 代码助手:使用工具和代理搜索文档、运行测试并建议改进
  • 客户支持系统:使用消息类型设置语气,使用内存在对话之间维护上下文

下一步

本章奠定了基础。接下来将:

  • 从基本的 AI 对话开始
  • 学习使用提示和结构化数据控制输出
  • 添加工具功能
  • 使代理自主
  • 连接到外部服务
  • 添加语义搜索
  • 最后将所有内容组合成智能 RAG 系统