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)

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

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

相关推荐
科技苑15 小时前
Python简单网络爬虫教程
爬虫·python
小和尚同志15 小时前
小黑插图 Skill:从 11.7k star 的 Codex 专属,到 Claude Code 能用的平替
人工智能·aigc
高洁0115 小时前
孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·transformer·知识图谱·tornado
外域速览15 小时前
智谱50亿美元押注AI自训练
大数据·人工智能
人工智能培训15 小时前
孪生不止在工厂:能源、医疗与农业
大数据·人工智能
米小虾15 小时前
让模型说"我不知道",比让它答对更难:放弃文本生成能换来什么
人工智能
新新学长搞科研16 小时前
【SPIE出版】2026年人工智能、新材料与新能源国际学术会议(AINMNE 2026)
人工智能·新能源·新材料
野生技术架构师16 小时前
2026 Java 面试全套总结,八股 + 场景 + AI 相关面试考点
java·人工智能·面试
米小虾16 小时前
不写出来的思考:把 Transformer 的层循环起来,是第三条 scaling 轴还是省错了地方?
人工智能
A.说学逗唱的Coke16 小时前
【大模型专题】别再用 HTTP 直连 Agent 了:用 Kafka 承载 A2A 协议,从 PoC 走到生产
人工智能·kafka·a2a