LangChain简介,最直白的介绍

拥有 API Key 就像拿到了发动机,而 LangChain 就是帮你把这个发动机组装成一辆跑车的底盘和传动系统。对于如何获取API key可以看我的上一篇博客教你白嫖免费的额度,绝对够用

下面通俗易懂地介绍一下 LangChain 框架。


1. 什么是 LangChain?

LangChain 是一个开源框架(Python 和 JavaScript 都有),它的核心目标是让开发 LLM(大语言模型)应用变得简单

如果把大模型(如 GPT、DeepSeek)比作一个"超级大脑 ",那么 LangChain 就是"躯干和四肢"。

  • 大脑(LLM)只负责思考和生成文字。
  • LangChain 负责给大脑装上耳朵(读取文件)、嘴巴(输出格式化数据)、手(联网搜索、操作数据库)以及记忆(记住之前的对话)。

一句话总结: 它是一个中间件,帮你把大模型和外部世界(文件、网页、API)连接起来。


2. 为什么非要用它?直接调 API 不行吗?

如果你只是写一个简单的"你问我答"脚本,直接调 API 确实可以。但一旦你想做一个复杂的应用,就会遇到麻烦:

  1. 模型切换难: 今天用 OpenAI,明天想换 DeepSeek,你需要改很多底层代码。用 LangChain,改一行配置就行。
  2. 记不住事: API 默认是没记忆的。LangChain 提供了现成的"记忆模块"。
  3. 数据喂养难: 想把几百个 PDF 喂给模型?LangChain 提供了全套的文档加载和切割工具。
  4. 流程复杂: 如果任务是"先总结邮件,再翻译成中文,最后存入 Excel",LangChain 的"链(Chain)"可以将这些步骤串联起来。

3. LangChain 的六大核心模块(后面继续详细介绍)

在接下来的学习中,你会反复和这六个概念打交道:

① Model I/O(模型输入/输出)

这是最基础的层。LangChain 把所有大模型(OpenAI, DeepSeek, 阿里通义等)都封装成了统一的接口。

  • 不管后台是哪个模型,你调用的代码都是一样的。
② Prompt Templates(提示词模板)

管理你的提问方式。你不需要每次都手写"请把这句话翻译成英文...",而是定义一个模板,只要填入变量即可。

  • 例子: f"请把 {text} 翻译成 {language}"
③ Memory(记忆)

让 AI 记住之前的对话上下文。

  • 比如"对话缓冲区记忆",能自动保存最近的 5 轮对话发给模型。
④ Chains(链)

核心概念! 把多个步骤串起来。

  • 公式: Prompt + LLM + OutputParser = Chain
  • 比如:先检索维基百科 -> 把结果给模型总结 -> 把总结发邮件。这是一条链。
⑤ Retrieval(检索 / RAG)

这是你之前问的 RAG 的实现部分。

  • 包含:文档加载器(读 PDF/Word)、文本切割器(把长文切块)、向量数据库(存数据)。
⑥ Agents(智能体)

这是最高级的玩法。链(Chain)是写死的流程,而 Agent 是让 AI 自己决定下一步做什么

  • 你给它工具(Google 搜索、计算器),它会自己思考:"用户问天气的,我应该先调用搜索工具,再回来回答。"

4. 核心语法:LCEL (LangChain Expression Language)

现在学习 LangChain,一定要学它的新语法 LCEL 。它用异或符号 | 来连接步骤,非常类似 Linux 命令或 Python 的位运算。

经典公式:

Prompt | Model | OutputParser

(提示词模板 | 大模型 | 结果解析器)


5. Hello World:你的第一段 LangChain 代码

既然你已经有了 API Key(根据自己情况修改下面的代码,跑一跑是不是可以用),我们可以写一个最简单的"翻译助手"。

准备工作:

在终端安装库:

bash 复制代码
pip install langchain langchain-openai

代码实战:

python 复制代码
import os
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# 1. 定义大模型 (配置你的免费 Key)
llm = ChatOpenAI(
    model="deepseek-ai/DeepSeek-V3",  # 这里的名字要看你所用平台的文档
    openai_api_key="sk-xxxxxxxxxx",   # 换成你的 Key
    openai_api_base="https://api.siliconflow.cn/v1", # 换成对应平台的 Base URL
    temperature=0.7
)

# 2. 定义提示词模板 (Prompt)
prompt = ChatPromptTemplate.from_template("请把下面这句话翻译成{target_language}:\n{text}")

# 3. 定义输出解析器 (把 AI 返回的复杂对象转成纯字符串)
parser = StrOutputParser()

# 4. 组装成链 (使用 LCEL 语法 | )
# 数据流向:用户输入 -> 填入模板 -> 发给模型 -> 解析结果
chain = prompt | llm | parser

# 5. 调用链
result = chain.invoke({"target_language": "文言文", "text": "在这个世界上,编程是一件非常有趣的事情。"})

print(result)

接下来你的学习路线建议:

关注朱波蹲后续,及得点赞收藏哦😘😘😘😘

相关推荐
福大大架构师每日一题2 小时前
dify 1.13.0——Human-in-the-Loop与工作流执行架构全面升级,释放AI与人的协作潜力
人工智能·架构
文艺倾年2 小时前
【强化学习&SWE】如何无容器化进行强化学习训练
人工智能·分布式·大模型
癫狂的兔子2 小时前
【Python】【机器学习】支持向量积
python·机器学习
梦想画家2 小时前
无前端编码,解锁Langflow无限可能:自定义Python组件开发全指南
python·智能体·langflow
ZhengEnCi2 小时前
06. Embedding模型与向量化
人工智能
人机与认知实验室2 小时前
人类智能中依然存在还未被发现的新机制
人工智能
Dr.AE2 小时前
AI+教育行业分析报告
大数据·人工智能·教育电商
电饭叔2 小时前
python转换字符串介绍
开发语言·windows·python
永无魇足2 小时前
感知器算法
人工智能