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 个核心概念构建:
- Models(模型):处理输入并生成输出的 AI "大脑"
- Prompts(提示):使用可重用模板与 AI 模型通信的方式
- Tools(工具):使用外部函数和 API 扩展 AI 功能
- Agents(代理):可以自主决定使用哪些工具的 AI 系统
- 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-mini或gpt-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 系统