从向量嵌入到复杂 Agent:LLM、LangChain、LangGraph 完整科普

我挖掘了一个巨牛的 人工智能 学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

前言:

我们上一节讲解了大语言模型LLM,这节课我们来讲解嵌入模型~

一、什么是嵌入模型(Embedding Model)

核心定义

嵌入模型是把文字、图片、音频等非结构化数据,转换成固定长度稠密数字向量(Embedding 向量) 的轻量神经网络模型。一句话:把语义变成一串数字,语义相近的文本,向量距离更近

工作逻辑

输入句子 → 模型编码 → 输出一维浮点数组(如 0.12, -0.35, 0.78...,常见维度 384/768/1536)

  • 语义相似:小猫咪 向量欧氏距离很小
  • 语义无关:汽车 向量距离很大

典型用途

  1. 向量数据库检索(RAG 知识库召回、文档搜索)
  2. 文本相似度计算、聚类、分类
  3. 推荐系统、多模态图文匹配
  4. 大模型前置召回(RAG 流程必备)

欧式距离和余弦相似度

欧式距离其实就是衡量两个向量空间直线距离, 直线距离越短,相似度越高**。**

余弦相似度关注的是方向差异。

只衡量两个向量夹角大小,完全忽略向量长度(幅值)。

核心特点

  1. 只看方向,不看长短 向量 [1,2][2,4] 余弦相似度 = 1,视为完全相似;欧式距离却很大;
  2. 高维文本嵌入场景首选
  3. 嵌入模型输出向量一般都会归一化,此时:相似度越高欧式距离越小

两者差别

维度 欧式距离 余弦相似度
衡量对象 空间绝对距离(长度 + 方向) 向量夹角(仅方向)
向量长度影响 影响极大 完全无影响
数值含义 越大越不相似 越接近 1 越相似
适用场景 坐标值有实际大小含义(用户年龄、销量) 文本嵌入、语义匹配(推荐、RAG 检索)

代表模型

  • 文本嵌入:BGE、text-embedding-ada、m3e、all-MiniLM
  • 多模态嵌入:CLIP(图文)

二、什么是大语言模型 LLM(大模型)

LLM 是自回归生成式大模型 ,核心能力是理解 + 连贯生成完整文本,基于 Transformer 解码器架构,参数量巨大(十亿 / 千亿级)。

核心能力

  1. 理解上下文、逻辑推理、问答、总结、翻译、写代码
  2. 逐 Token 生成文字,输出变长自然语言
  3. 具备对话、思考、工具调用、复杂任务规划能力

代表模型

GPT 系列、Llama、Qwen、GLM、DeepSeek 等


三、嵌入模型 vs 大语言模型:核心区别

1. 任务目标完全不同

表格

维度 嵌入模型 Embedding 大语言模型 LLM
核心任务 语义表征、相似度匹配(编码) 文本生成、推理、问答(解码)
输出形式 固定长度数字向量(无文字) 不定长自然语言文本
输出长度 固定(384/768 维,永远一样长) 随需求变长,可几百 / 几千字
推理逻辑 单向编码,无生成过程 逐 token 自回归生成,有上下文续写

2. 模型结构、规模差异

  1. 参数量
    • 嵌入模型:百万~亿级轻量小模型,推理极快、成本极低
    • LLM:几十亿~万亿参数,算力消耗大、推理贵、速度慢
  2. 架构
    • 嵌入:多为编码器 Encoder(BERT 类),只做编码不生成
    • LLM:解码器 Decoder(GPT 类),主打文本生成

3. 能力边界

  • 嵌入模型:不会说话、不能回答问题、没有逻辑推理,只会算语义相似度你输入 "介绍人工智能",它只会返回一串数字,不会给解释
  • LLM:擅长思考、写作、问答,但原生不会做精准文档检索,长文本容易遗忘信息

4. 适用场景

  • 嵌入:知识库检索、查重、文本聚类、语义搜索、匹配
  • LLM:对话、写作、解题、摘要、复杂逻辑问答

5. 训练目标

  • 嵌入:训练目标是相似文本向量靠近,无关文本远离(对比学习)
  • LLM:训练目标是预测下一个字,拟合人类语言分布

四、两者的紧密联系(最常用组合:RAG)

1. 标准 RAG 完整流程(嵌入 + LLM 协同工作)

  1. 文档预处理 → 嵌入模型知识库所有文档片段转为向量存入向量库
  2. 用户提问 → 嵌入模型用户问题同样转向量
  3. 向量检索在向量库找出语义最相近的几段原文
  4. 拼接原文 + 用户问题 → 送入 LLM大语言模型基于检索到的真实资料回答,减少幻觉

分工总结

  • 嵌入模型负责 "找资料":快速从海量文档挑相关内容
  • 大语言模型负责 "讲道理、写答案":基于找到的资料组织语言回答

2. 其他关联点

  1. 部分大模型附带轻量嵌入模块,但主业仍是生成;单独嵌入模型专门优化检索速度与精度
  2. 两者输入都是文本,都能理解基础语义,但侧重不同
  3. 嵌入是 LLM 的前置工具,弥补大模型记不住海量外部知识的缺陷

3. 极简总结

  • 嵌入模型:文字→数字,做语义匹配、检索
  • 大语言模型:文字→更长文字,做推理、生成、问答
  • 关系:检索靠嵌入,回答靠 LLM,二者搭配实现知识库问答(RAG)

五、举个通俗例子帮助理解

场景:图书馆问答机器人

  1. 嵌入模型 = 图书索引系统:把每本书摘要转成编号,你说问题,它快速找出 3 本相关书
  2. LLM = 讲解员:拿着找到的 3 本书,整理内容,用通顺话回答你的问题只靠讲解员(LLM),记不住整座图书馆;只靠索引(嵌入),只会找书不会讲解。

已经有了LLM,为什么还需要langchain和langgraph

一句话总纲

LLM 只是一颗 "只会说话的大脑";LangChain 是配套工具库,给大脑装记忆、手脚、知识库;LangGraph 是高级流程编排引擎,用来控制大脑做多步循环、分支、自主决策的复杂任务。三者不是替代,是层层互补。

一、先搞懂:只靠原生 LLM 有哪些天生硬伤(为什么必须额外框架)

原生直接调用 LLM API,存在无法靠 Prompt、微调解决的底层缺陷:

  1. 知识静态、有截止时间模型知识冻结在训练数据,不知道实时新闻、企业内部 PDF、数据库业务数据,极易产生幻觉;原生没有检索私有文档的能力。
  2. 无记忆、无状态每次 API 调用完全独立,不会自动保存多轮对话历史;长对话会无限膨胀上下文,没有自动压缩、滑动窗口裁剪逻辑。
  3. 没有行动能力 LLM 只能输出文字,不能真的调用工具:查天气、执行 SQL、调用接口、运行代码、联网搜索,它只会嘴上说 "我帮你查",不会发起真实请求。
  4. 流程无法自动化串联复杂任务需要多步骤:文档分片→向量化存储→检索→整理参考资料→LLM 生成→格式化输出。纯手写胶水代码耦合严重、难以复用。
  5. 输出不可控很难稳定输出 JSON/SQL 等结构化格式,缺少统一的输出解析、校验、重试机制。
  6. 复杂推理流程无法自主流转遇到 "检索不到信息要重新搜索""工具调用失败要重试""需要人工审核再继续" 这类循环 / 分支逻辑,纯手写 if-else 会彻底失控。

二、LangChain 解决什么:LLM 应用标准化工具箱

定位

LLM 应用基础组件库 ,提供统一抽象,把 RAG、记忆、工具、Prompt、模型封装成可复用积木,主打快速搭建线性流程(简单问答、基础 RAG、单步工具 Agent)。

核心价值,弥补 LLM 短板

  1. 统一模型接入层一套代码兼容 GPT、Claude、通义千问、Llama 等所有 LLM,切换模型不用重写业务逻辑。
  2. 完整 RAG 标准化组件内置文档加载器、文本分割、嵌入调用、向量库对接、检索器,几行代码搭建知识库问答,解决模型知识陈旧、幻觉问题。
  3. 对话记忆系统多种记忆封装:缓冲记忆、摘要记忆、向量记忆,自动管理历史对话、压缩超长上下文,避免窗口溢出。
  4. **工具调用标准化(Tool/Agent)**统一封装搜索、SQL、计算器、自定义 API,让 LLM 具备调用外部系统的 "手脚"。
  5. **链式流程(Chain)**把多步任务线性串联:检索链、摘要链、翻译链、NL2SQL 链,开箱即用,不用手写大量拼接逻辑。
  6. 提示词工程封装PromptTemplate、FewShot 示例、动态变量注入,规范提示词管理。

局限(也是 LangGraph 诞生的原因)

LangChain 原生 Chain/AgentExecutor 以线性、单次循环为主:

  • 不支持复杂条件分支、并行节点;
  • 状态管理零散,多步骤数据传递混乱;
  • 无法原生支持循环重试、人工介入断点续跑;
  • 复杂多智能体、多轮反思检索很难实现,代码大量堆砌 if-else 难以维护。

三、LangGraph 解决什么:复杂智能体状态图编排引擎

定位

LangGraph 官方配套的流程运行时 ,基于状态机 + 图结构设计,专门处理 LangChain 搞不定的复杂 Agent 业务,和 LangChain 共享底层组件(LLM、Tool、Retriever),二者配套使用而非替代。

核心独有能力

  1. 全局统一 State 状态容器所有节点共享一份结构化状态(消息、检索结果、迭代次数、中间数据),全流程数据统一管理,不会变量满天飞。
  2. 自由图拓扑:节点 + 条件边 + 循环
  • 线性流程:LangChain Chain 就能搞定;
  • 循环流程:检索信息不足→重新生成 query 二次检索;工具调用报错→重试;
  • 分支流程:判断问题是否需要联网,走搜索节点 / 直接回答节点;
  • 并行流程:同时执行多个工具、多路检索再合并结果。
  1. **原生人机交互(Human-in-the-loop)**流程运行中可主动暂停,交给人工审核、修改内容后再恢复执行,适合审批、高风险业务。
  2. **断点持久化(Checkpointer)**流程中断、服务重启后,可从上次状态继续执行,不用从头跑完整链路。
  3. 全流程透明可控每一步节点逻辑显式定义,没有黑盒封装,调试、日志追踪、错误定位更简单。

典型使用场景

  • 反思式 RAG(一次检索不足自动多轮重搜)
  • 多工具多步骤复杂 Agent(数据分析:搜数据→跑 SQL→画图→写报告)
  • 多智能体协作(规划 Agent、检索 Agent、写作 Agent 分工流转)
  • 需要人工审批、断点续跑的生产级业务

四、三者完整关系对比表

表格

对象 定位 核心能力 流程能力 适用场景
LLM 大语言模型 推理生成大脑 理解文本、生成文字、基础推理 无流程、无外部交互能力 单纯单轮对话、短句问答
LangChain 组件工具箱、基础链式框架 RAG、记忆、工具、统一模型封装 线性流程、简单单次循环 简单知识库问答、单工具助手、快速 Demo 原型
LangGraph 状态图编排运行时 全局状态、循环 / 分支 / 并行、人工介入、断点续跑 任意复杂图流程、多轮自主反思 生产级复杂 Agent、多步骤循环任务、多智能体协作

五、通俗比喻理解

  1. LLM = 只会读书思考的大脑能听懂话、写文字,但:记不住长期聊天内容、看不到公司内部文件、不会查天气、不会操作数据库,只会空想。
  2. LangChain = 配套外设套装 给大脑配笔记本(记忆)、图书馆(RAG 知识库)、手机(工具调用)、标准化纸笔(Prompt / 输出解析),让大脑能读取外部信息、保存对话、调用工具,简单任务可以直接完成。
  3. LangGraph = 总控调度中心当任务很复杂(比如 "写行业报告":搜资料→分析数据→初稿→自查缺信息→二次检索→修改→人工审核→定稿),LangChain 线性链条兜不住来回循环、分支判断,LangGraph 作为调度器,控制每一步流转、记录全局进度、缺资料自动回头重搜、中途暂停交给人修改,实现自主闭环工作流。

六、工程落地标准分层架构(生产环境组合使用)

复制代码
用户输入
    ↓
LangGraph(流程调度:分支/循环/状态/断点)
    ↓ 调用底层组件
LangChain Core(统一LLM、嵌入、检索、工具、记忆)
    ↓
LLM / 嵌入模型 / 向量库 / 第三方API

总结

  1. 只有 LLM:只能做最简单对话,无法落地业务系统;
  2. LLM + LangChain:可实现绝大多数简单 AI 应用,快速开发原型;
  3. LLM + LangChain + LangGraph:支撑企业级复杂智能体、多步骤自主决策业务。
相关推荐
怕浪猫1 小时前
第13章 评估与评测:如何衡量Agent的好坏
langchain·openai·ai编程
Linging_242 小时前
基于Langchain得AI Agent相关知识学习
人工智能·学习·langchain
艾莉丝努力练剑19 小时前
【AI面试】AI八股文
人工智能·ai·面试·langchain·八股文
思考着亮1 天前
1.LangChain概述
langchain
马里马里奥-1 天前
大模型应用开发笔记03:LangChain 中间件实战
笔记·中间件·langchain
To_OC1 天前
手搓 LangChain 工具调用:原来 Agent 的核心逻辑,就是个 while 循环
人工智能·langchain·llm
Boop_wu2 天前
[LangChain]LangChain聊天模型
langchain
常常有2 天前
LangChain 学习记录 01:为什么需要 LangChain?从 API 调用到 AI 应用框架
人工智能·langchain
湿韵轮回2 天前
LangChain LCEL,用 | 串联AI的魔法语言
服务器·人工智能·langchain