收藏必备】LangChain实战:从零开始构建DeepSeek大模型链(附完整代码)
收藏必备】LangChain实战:从零开始构建DeepSeek大模型链(附完整代码)
本文介绍LangChain框架中"链"(Chains)的概念,通过实验展示如何将PromptTemplate和DeepSeek大模型组合成自动化处理链。详细解释了链的四大核心组件(PromptTemplate、LLM、工具和OutputParser),并提供可运行代码示例。虽然LLMChain已被新版本标记为废弃,但其设计理念仍是LangChain基础。文章强调了链式编程的三大优势:职责分明、流程可控、即插即用,为后续学习更复杂的AI工作流打下基础。
一、实验背景
在 LangChain 框架里,Chains 类就像一位“流程编排师”,能把 LLM、PromptTemplate、工具这些零散组件串成一套有逻辑的自动化流程,也就是我们常说的“链”。
引入“链”概念后,LLM 的调用就从孤立的单次请求,变成了可控、高效且能灵活扩展的标准化流程。不过要留意, 随着 LangChain 框架的迭代,Chains 正逐步被更灵活的 Runnable 替代,但“链”的核心思想和设计逻辑仍是绕不开的基础。我们不妨先从 Chains 入手,打好底子再学新内容会更轻松。
“链”的骨架就是一套可插拔的积木套装,有四块核心零件:
- PromptTemplate:它的作用是生成带上下文的提示词,帮 LLM 明确“我是谁、要做什么、怎么做”。比如,在网络故障排查场景中,它可以用来自动填充设备型号、告警标题等信息,让 AI 更快进入角色,以便输出更精准的分析结果。
- LLM:这部分负责核心的自然语言生成,如 ChatGPT、DeepSeek 等。
- 工具:链的强大之处在于其能调用外部工具或 API,比如联网搜索最新技术文档、查询数据库里的设备配置,甚至直接执行网络命令。Tools 作为 LangChain 的核心模块。
- OutputParser:LLM 输出的原始文本往往比较零散,OutputParser 可以帮我们提取关键字、裁剪冗余内容,或者转换成 JSON、表格等结构化格式。比如把故障分析结果自动整理成“故障原因+解决方案+影响范围”的清晰报告,直接对接下游系统。
我们现在用 Napkin AI 为上面的文字画一个图。
理解了这些组件,我们就能像搭乐高一样灵活组合出各种“链”。
二、实验过程
2.1 模块升级
我们先把 LangChain 框架的模块升级到最新版本吧。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple langchain -U
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple langchain-community -U
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple langchain-openai -U
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple langchain-deepseek -U
接下来,咱们可以用pip list | findstr langchain命令来查看相关模块的版本。
如今 AI 技术迭代确实像坐了火箭,我个人也倾向于学习时直接上手最新版本,毕竟新特性、新功能都是第一时间体验。
我们在动手实验前,记得先去 DeepSeek 开放平台申请一个 API Key 。
2.2 实验脚本
接下来是咱们的实验代码。我已经尽量把它精简到最小可运行版本,这样方便快速上手和温柔友好对接新手。
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain.chat_models import init_chat_model
#设置 DeepSeek API Key
api_key = "在此处填写个人的 DeepSeek API Key"
#设置 PromptTemplate
prompt_template = PromptTemplate(
input_variables=["question"],
template="你是一位资深网络工程师,请回答以下问题:{question}"
)
#启用 DeepSeek 的 V3 模型作为 LLM
llm = init_chat_model("deepseek-chat", model_provider="deepseek",api_key=api_key)
#创建链,调用 LLM 和 PromptTemplate
chain = LLMChain(llm=llm, prompt=prompt_template)
#执行链,将 DeepSeek 的回答赋值给变量 result 并打印出来
result = chain.run(question="网络工程师需要学英语吗?")
print(result)
代码逻辑是这样的:我们用 Python 把 DeepSeek 大模型包装成 LangChain 的 LLMChain(链),再给它设定“资深网络工程师”的人设,让它回答“网络工程师需要学英语吗?”这个问题,最后直接把答案打印出来。
看具体代码,前面的llm
和prompt_template
像先把乐高积木块掏出来摆好,而chain = LLMChain(llm=llm, prompt=prompt_template)
就是“咔嗒”一声把两块核心积木拼在一起,整条“能说话”的链立刻成型,最后就是run
起来即可。
DeepSeek 各主流版本的默认 temperature 为 0.6,我们也可以在代码中调整这个参数,比如想稳重点就 0.3,想更发散就 1.2。那要如何设置呢?请你自己试试看吧。
2.3 Warning
运行脚本后,我们很快会看到下面这两个 Warning 提示。
LangChainDeprecationWarning: The class
LLMChain
was deprecated in LangChain 0.1.17 and will be removed in 1.0. Use :meth:~RunnableSequence, e.g.,
prompt | llm`` instead.
LangChainDeprecationWarning: The method
Chain.run
was deprecated in langchain 0.1.0 and will be removed in 1.0. Use :meth:~invoke
instead.
从这里能看到,LLMChain类和Chain.run方法已经分别在 langchain0.1.17和0.1.0版本中被标记为废弃(deprecated),而且计划在 langchain1.0版本中正式移除(removed)。Warning 里还贴心地告诉我们相应的替代方案。它们分别是RunnableSequence 类和 invoke 方法。感兴趣的小伙伴可以先自己看看书,探索下用法,后面我会继续梳理这部分内容,和大家详细分享。
2.4 实验结果
稍等片刻后,我们就能看到 DeepSeek 给出的答复。
这样一来,我们就顺利把整个实验流程跑通啦。掌握了 LangChain 链的启动方法后,我们自然就能“轻松”把这套思路迁移到网络自动化 NetDevOps 领域中, 比如先试试放个命令回显、加个日志消息,搭一个简单的“网络信息解析链”玩玩。
三、本文总结
本文我们先用最简单的 PromptTemplate + LLM,拼出一条最短且能跑起来的“链”。你可以把整个过程想象成搭乐高积木:PromptTemplate 是一块积木,LLM 是另一块积木,借助 LLMChain 把它们拼在一起,就能实现特定功能。
用最小化启动、最简单可运行的代码,目的是帮你找到一个入门的切入点。 你可别忘了,一旦上手 LangChain 框架,稍微入戏,很多想用编程实现的想法,都能借助 AI 编程来辅助完成。
回头看看咱们的实验脚本,你会发现,哪怕只有两块积木,LangChain 那种“链”的感觉已经出来了:
- 职责分明:PromptTemplate 只关心“问题长什么样”,LLM 则只关心“怎么生成答案”,两者通过 LLMChain 解耦,互不干扰。
- 流程可控:数据流永远是“模板输入 → LLM 调用 → 字符串输出”,一根筋走到底,调试时一眼就能定位到哪一步出错。
- 即插即用:明天如果想把 DeepSeek 换成其他 AI 大模型,只要把 llm 变量重新赋值,其他代码一行不动;后天想加输出解析,也只是在链尾再扣一块新乐高块。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
适用人群
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)