LangChain 核心概念

0 阅读3分钟

本篇读完之后,不只是“知道 LangChain 有哪些组件”,而是能在脑中自动拼出一条完整的 AI 系统骨架

如果你把大模型当作一颗恒星,那 LangChain,就是让引力成型、让行星运行的那套宇宙法

LLMs 与 Chat Models

大模型不是一个物种,而是两种气质

Image

Image

LLMs:冷静、克制、像函数

LLMs(Large Language Models) 你可以把它理解为:

一个 text -> text 的超级函数

输入:一段字符串  
输出:一段字符串  

典型用途:

  • 文本补全
  • 翻译
  • 总结
  • 结构化输出(JSON / SQL / YAML)

LangChain 中的代表:

  • OpenAI
  • HuggingFacePipeline
  • LlamaCpp
  • Qwen / Baichuan / Yi

特征

  • 无上下文意识
  • 无“对话记忆”
  • 更适合嵌入到 pipeline 中

Chat Models:有角色、有语境、有情绪

Chat Models 是 LLM 的“社会化版本”。

它们不再接收纯文本,而是接收 Message 序列

[
  {"role": "system", "content": "你是一个GIS专家"},
  {"role": "user", "content": "解释什么是RAG"}
]

优势

  • 支持 system / user / assistant 角色
  • 更贴近真实对话
  • 更适合 Agent

LangChain 抽象

  • ChatOpenAI
  • ChatQwen
  • ChatAnthropic

现实中: LLMs 更像发动机 Chat Models 更像驾驶员


Prompts 与 Prompt Templates

提示词不是咒语,是程序

image.png

image.png

Prompt:一次性灵感

Prompt 是你和模型的第一次握手

请你用GIS专家的身份解释什么是栅格数据

问题在于:

  • 不可复用
  • 不可参数化
  • 不可维护

Prompt Template:工程化的开始

Prompt Template 的本质:

把自然语言,变成“可编排的接口”

from langchain.prompts import PromptTemplate

template = """
你是一名{role}
请用{style}的方式解释:{topic}
"""

prompt = PromptTemplate(
    input_variables=["role", "style", "topic"],
    template=template
)

价值

  • 参数化
  • 可测试
  • 可版本管理
  • 可 A/B

再进阶

  • ChatPromptTemplate
  • MessagesPlaceholder
  • Few-shot Prompt

Prompt ≠ 文案 Prompt = AI 系统的配置文件


Chains

链,是秩序的开始

image.png

image.png

什么是 Chain?

Chain 就是:

把多个步骤,锁进一条确定性的因果链

最经典:

prompt → LLM → output

LangChain 中:

from langchain.chains import LLMChain

为什么 Chain 很重要?

因为现实任务从来不是“一问一答”。

例如:

  1. 用户问题
  2. 判断是否需要查资料
  3. 检索知识
  4. 重写问题
  5. 生成答案
  6. 格式化输出

📌 Chain 的意义

  • 控制流程
  • 降低不确定性
  • 提升可调试性

常见 Chain 类型

Chain用途
LLMChain单模型调用
SequentialChain多步串联
RouterChain动态路由
RetrievalQARAG 专用

Chain 是 工程理性 Agent 是 认知自由


Agents

当模型开始“自己想下一步”

image.png

image.png

Agent 是什么?

Agent = LLM + Tools + Reasoning Loop

核心循环:

Thought → Action → Observation → Thought → …

它不是“被安排”,而是:

根据当前状态,决定下一步该干什么


Tools:Agent 的手和脚

Agent 不怕模型笨, 怕的是——它什么都不能做

Tool 可以是:

  • 搜索
  • 数据库查询
  • Python 执行
  • GIS 空间分析
  • API 调用

📌 在你熟悉的领域里:

  • Tool = 业务系统能力封装

Chain vs Agent(说句实话)

维度ChainAgent
可控性极高较低
灵活性极高
调试难度
生产环境主流谨慎

👉 真正成熟的系统:Chain + Agent 混合


Memory

没有记忆的 AI,只会健忘地聪明

image.png

image.png

为什么需要 Memory?

否则你会看到:

用户:我刚才说的那张表 AI:哪张?

Memory 让模型:

  • 知道“我们聊到哪了”
  • 知道“你是谁”
  • 知道“什么重要,什么该忘”

Memory 类型

类型说明
ConversationBufferMemory原始对话
ConversationSummaryMemory摘要式
VectorStoreMemory语义记忆
EntityMemory人物 / 概念

📌 真相:

  • 短期记忆 ≠ 长期知识
  • 长期知识 → Retriever

Retrievers 与 VectorStores

这是 RAG 的心脏

image.png

Image

VectorStore:记忆的形态

文本 → Embedding → 向量 → 存储

常见:

  • FAISS
  • Chroma
  • Milvus
  • PGVector

Retriever:记忆的方式

Retriever 决定:

  • 查不查
  • 查多少
  • 查哪儿
retriever = vectorstore.as_retriever(
    search_type="similarity",
    k=4
)

RAG 的本质

不是“模型变聪明了” 而是“模型终于开始查资料了”

LangChain 中的黄金结构:

User Question
→ Retriever
→ Context
→ Prompt
→ LLM
→ Answer

📌 对你这种 GIS / 工程 / 专业领域用户来说: RAG 是刚需,不是锦上添花


LLM / ChatModel  —— 思考核心
Prompt           —— 指令系统
Chain            —— 稳定流程
Agent            —— 自主决策
Memory           —— 对话连续性
Retriever        —— 查资料方式
VectorStore      —— 知识存储形态