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)

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

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

相关推荐
小陳参上17 小时前
用Python创建一个Discord聊天机器人
jvm·数据库·python
minstbe19 小时前
IC设计私有化AI助手实战:基于Docker+OpenCode+Ollama的数字前端综合增强方案(进阶版)
人工智能·python·语言模型·llama
GinoInterpreter20 小时前
什么是翻译的去中心化?
人工智能·自然语言处理·去中心化·区块链·机器翻译·机器翻译模型·机器翻译引擎
zyq99101_120 小时前
优化二分查找:前缀和降复杂度
数据结构·python·蓝桥杯
qyzm20 小时前
天梯赛练习(3月13日)
开发语言·数据结构·python·算法·贪心算法
码农小白AI20 小时前
IACheck AI报告文档审核:高端制造合规新助力,保障标准引用报告质量
大数据·人工智能·制造
_YiFei21 小时前
哪个降论文AI率工具最好用?
人工智能·深度学习·神经网络
放下华子我只抽RuiKe521 小时前
机器学习全景指南-直觉篇——基于距离的 K-近邻 (KNN) 算法
人工智能·gpt·算法·机器学习·语言模型·chatgpt·ai编程
kisshuan1239621 小时前
[特殊字符]【深度学习】DA3METRIC-LARGE单目深度估计算法详解
人工智能·深度学习·算法
sali-tec21 小时前
C# 基于OpenCv的视觉工作流-章33-Blod分析
图像处理·人工智能·opencv·算法·计算机视觉