LangChain + DeepSeek 实战拆解:从 LCEL 到智能体,如何真正“做出”一个可控 AI 系统?

LangChain + DeepSeek 实战拆解:从 LCEL 到智能体,如何真正“做出”一个可控 AI 系统?大模型很强 但如果你只是 llm invoke 帮我写点东西 那你做的不是系统 只是调用接口 真正的工程问题是 多步骤推理怎么组织 外部数据怎么接入 工具怎么安全调用 对话怎么长期记忆 结果怎么结构化输出 这才是 LangChain 解决的问题 LangChain 到底解决什么问题 环境搭建 DeepSeek LiteLLM LCEL

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



大模型很强。

但如果你只是:

llm.invoke(“帮我写点东西”) 

那你做的不是系统,只是调用接口。

真正的工程问题是:

  • 多步骤推理怎么组织?
  • 外部数据怎么接入?
  • 工具怎么安全调用?
  • 对话怎么长期记忆?
  • 结果怎么结构化输出?

这才是 LangChain 解决的问题。


  1. LangChain 到底解决什么问题?
  2. 环境搭建:DeepSeek + LiteLLM
  3. LCEL 新范式:Prompt | LLM | Parser
  4. 流式输出如何实现?
  5. RAG:检索链路如何接入?
  6. 记忆机制的新写法
  7. Agent 与工具调用
  8. 一个完整对话系统示例
  9. LangChain 在工程里的真实价值

单独的 LLM 像一个聪明的大脑。

但它没有:

  • 手(不能执行函数)
  • 眼睛(不能实时查资料)
  • 记忆库(上下文有限)
  • 任务调度系统(不会组织复杂流程)

LangChain 的本质,是一套可组合的 LLM 编排框架

它不增强模型能力,它增强:

  • 可控性
  • 可组合性
  • 可扩展性
  • 工程稳定性

安装:

GPT plus 代充 只需 145pip install langchain langchain-openai langchain-community python-dotenv -i https://mirrors.aliyun.com/pypi/simple/ pip install -U litellm 

.env 文件:

DEEPSEEK_API_KEY=sk-xxx DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-chat 

初始化模型:

GPT plus 代充 只需 145from langchain_openai import ChatOpenAI import os

llm = ChatOpenAI(

model=os.getenv("DEEPSEEK_MODEL"), openai_api_key=os.getenv("DEEPSEEK_API_KEY"), openai_api_base=os.getenv("DEEPSEEK_BASE_URL"), temperature=0.7 

)

这里有个工程重点:

LangChain 不直接适配所有模型,它通过 LiteLLM 做统一接口抽象。

这一步是“工程层”的关键。


旧版 LLMChain 已经被弃用。

现在的标准写法是 LCEL(LangChain Expression Language)。

核心结构:

GPT plus 代充 只需 145Prompt → Model → OutputParser 

代码示例:

from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser

prompt = ChatPromptTemplate.from_messages([

GPT plus 代充 只需 145("system", "你是一位技术专家,用通俗语言解释概念。"), ("user", "{concept}") 

])

chain = prompt | llm | StrOutputParser()

result = chain.invoke({“concept”: “量子纠缠”}) print(result)

为什么必须要 Parser?

因为:

模型输出是 Message 对象 工程系统需要字符串或结构化 JSON

没有 Parser,工程不可控。


真实应用里,你不可能等 10 秒再一次性输出。

只需要把 .invoke() 换成 .stream()

for chunk in chain.stream({“concept”: “递归神经网络”}):

GPT plus 代充 只需 145print(chunk, end="", flush=True) 

流式输出是:

  • 聊天机器人
  • WebSocket 应用
  • 实时界面

的基础能力。


LangChain 把 RAG 拆成清晰的流水线:

文档加载 → 文本切片 → 向量化 → 向量存储 → 检索器 

示意结构:

GPT plus 代充 只需 145DocumentLoader  ↓ TextSplitter

Embeddings

GPT plus 代充 只需 145

VectorStore

Retriever

GPT plus 代充 只需 145

LLM

关键点在于:

Retriever 现在是一个“可嵌入链的组件”。

不只是数据库查询,而是可参与推理流程。


旧版 ConversationBufferMemory 已经不推荐。

现在的写法是:

  • ChatMessageHistory
  • RunnableWithMessageHistory

记忆不再是链的属性。

而是一个独立的存储系统,通过 session_id 区分用户。

核心代码:

with_message_history = RunnableWithMessageHistory(

GPT plus 代充 只需 145chain, get_session_history, input_messages_key="question", history_messages_key="history", 

)

这意味着:

记忆可以持久化到 Redis / PostgreSQL。

工程级对话系统必须这样做。


智能体的本质是:

  1. LLM 判断是否需要调用工具
  2. 调用工具
  3. 观察结果
  4. 再决定下一步

创建工具:

from langchain.agents import create_tool_calling_agent

agent = create_tool_calling_agent(llm, tools, prompt)

核心机制是:

模型 → 决策 → Tool Call → 观察 → 最终回答

LangChain 现在推荐用 LangGraph 构建复杂 Agent。

因为多步骤推理本质是“状态机”。


带记忆的聊天机器人核心结构:

GPT plus 代充 只需 145prompt = ChatPromptTemplate.from_messages([

("system", "你是一个乐于助人的 AI 助手。"), MessagesPlaceholder(variable_name="history"), ("human", "{question}") 

])

chain = prompt | llm

然后通过 RunnableWithMessageHistory 管理会话。

结果就是:

AI 记得你叫小明。

这不是魔法,是工程结构。


很多人误解 LangChain 是“封装模型”。

其实它解决的是:

  • 多步骤流程编排
  • 工具安全调用
  • RAG 标准化接入
  • 会话管理
  • 可测试结构

它让你从:

“写 Prompt 的人”

变成:

“设计 AI 系统架构的人”

这才是核心。


LangChain 不是模型。

它是 LLM 应用的“操作系统”。

当你真正用 LCEL 构建:

Prompt → 检索 → 工具 → 记忆 → 输出

你会发现,大模型只是其中一层。

真正决定系统稳定性的,是结构。

而结构,才是工程能力的分水岭。

小讯
上一篇 2026-03-21 13:01
下一篇 2026-03-21 12:59

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/240180.html