跟我学LangChain:入门指南,基于LLM构建强大AI应用
本文详细介绍LangChain框架,一个简化LLM应用开发的工具。解析其核心概念(组件与链)、三大应用场景及六大模块,包括模型I/O、数据连接、链、记忆、Agent和回调处理器。通过代码示例展示从环境配置到创建聊天机器人、Agent及加入记忆功能的完整开发流程,帮助开发者快速构建响应式AI应用。当开发者构建LLM应用时,可能会遇到很多API接口、数据格式、工具等,特别是一个非AI领域的开发者,要研
本文详细介绍LangChain框架,一个简化LLM应用开发的工具。解析其核心概念(组件与链)、三大应用场景及六大模块,包括模型I/O、数据连接、链、记忆、Agent和回调处理器。通过代码示例展示从环境配置到创建聊天机器人、Agent及加入记忆功能的完整开发流程,帮助开发者快速构建响应式AI应用。
当开发者构建LLM应用时,可能会遇到很多API接口、数据格式、工具等,特别是一个非AI领域的开发者,要研究入门总觉得有很大的负担。LangChain 就是为了让你跨越这道门槛,让LLM应该的开发更加简单。

01
—
为什么需要 LangChain ?
1、LangChain 是什么?
LangChain 是一个用于开发由大型语言模型 (LLMs) 驱动的应用程序的框架。它为开发者提供了一系列的工具和组件,开发者只需要写几行代码,就能运行一个大型LLM程序,甚至快速构建一个响应式的机器人。
2、两个关键概念
LangChain 的两个关键概念是 “组件” 和 “链”。
1️⃣ “组件”:在 LangChain 中,组件不是代码的拼凑,是一个具有明确功能的单元。
2️⃣ “链”:在 LangChain 中,链是将各种组件连接在一起的纽带,它能够确保组件之间的无缝集成和在程序运行环境中的高效调用。
3、三个常用场景
LangChain 的三个常用场景是 “问答系统” 、 “数据处理与管理” 和 “自动问答与客服机器人”。
➡️ 场景一:“问答系统”:问答系统已经成为大多数 LLM 应用不可或缺的一部分,基于 LangChain 可以轻松的与外部数据交互,迅速提取关键信息,然后执行生成操作,生成准确的回答。
➡️ 场景二:“数据处理与管理”:在数据的驱动下,RAG 成为一个非常热门的落地方向,RAG 结合了检索和生成两个阶段,可以提供更为精准的回答。在 LangChain 中,采用了 LEDVR 工作流来实现 RAG。
LEDVR,其中L代表加载器(Loader),E代表嵌入模型(Embedding Model),D代表文档转化器(Document Transformers),V代表向量存储(VectorStore),R代表检索器(Retriever)。
➡️ 场景三:“自动问答与客服机器人”:目前在很多平台(比如淘宝、京东等电商平台)已经上线了客服机器人,客服机器人已经慢慢成为了用户与公司的首要交互点。使用 LangChain 的 Agent 功能,可以快速构建实时响应的客服机器人。
02
—
LangChain 的6大模块

1、模型 I/O(Model IO)
LangChain 提供了与任何LLM适配的模型包装器,分为LLM包装器、聊天模型(Chat Model)包装器。
2、数据增强(Data Connection)
市面上的 LLM 通常是通用型大模型,而确实特定企业(或用户)的数据。LangChain 提供了加载、转换、存储和查询数据的构建模块。
3、链(Chain)
LangChain 提供了链式封装,可以将 LLM 以及各种组件进行链式连接。
4、记忆(Memory)
主要用能够引用对话中的信息。LangChain 提供了多种记忆模块,可以独立使用,也可以集成到链中使用。
5、Agent
核心思想是利用 LLM 选择操作序列,在链中,操作序列是硬编码的,而在 Agent 代理中,LLM 作为推理引擎,确定执行哪些操作和执行顺序。
6、回调处理器(Callback)
LangChain提供了一个回调系统,开发者可以在 LLM 应用的各个阶段对状态进行干预。
03
—
LangChain 的开发流程
1、密钥管理
LangChain 是一个集成框架,在开发 LLM 应用时,需要使用第三方平台的模型或者工具,此时一般都需要使用密钥(key)。
一般有如下方法:
(1)硬编码,写在代码里
OPENAI_API_KEY=xxxxxx
或者写在os环境变量.env文件
import os
os.environ.get('API_KEY')
(2)使用环境变量,将环境变量
可以在本地环境或者服务器上设置环境变量,将密钥保存为环境变量。
export OPENAI_API_KEY=xxxxxx
当你使用 Python 代码初始化 OpenAI 时,LangChain 会自动从环境变量中检测并获取密钥。
(3)使用getpass
这种方式是让用户主动输入密钥。
import os
import getpass
from langchain.llms import OpenAI
os.environ['OPENAI_API_KEY'] = getpass.getpass('OpenAI API Key:')
llm = OpenAI()
2、安装 Python 包
pip install openai langchain
3、编写第一个聊天机器人
(1)创建模型(调用的本地 Ollama 服务的 Deepseek 模型)
from langchain_community.llms.ollama import Ollama
llm = Ollama(model='deepseek-r1:14b')
(2)创建提示词模版
首先在 LangChain 的 schema 中定义了 AIMessage、HumanMessage以及SystemMessage三种角色的消息。
其次,封装了SystemMessagePromptTemplate、HumanMessagePromptTemplate、ChatPromptTemplate等模版类,便于创建提示词模板。
from langchain.prompts.chat import ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate
# 创建系统提示词
template = (
"你是{role}领域的专家,根据用户提出的问题给出相关建议。"
)
system_msg_prompt = SystemMessagePromptTemplate.from_template(template)
# 定义人类对话的提示词
human_template = "{text}"
human_msg_prompt = HumanMessagePromptTemplate.from_template(human_template)
# 将两个模版组合到聊天提示词模版
chat_prompt = ChatPromptTemplate.from_messages([
system_msg_prompt,
human_msg_prompt
])
(3)创建链及运行
from langchain.chains import LLMChain
# 使用 LLMChain 连接聊天模型和提示词
chain = LLMChain(llm=llm, prompt=chat_prompt)
# 运行链
res = chain.invoke({
"role": "旅游",
"text": "到上海旅游应该如何计划"
})
print(res)
(4)Agent
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
# 加载工具,这里加载的 serpapi 是网络搜索工具,llm-math 是数学计算工具
tools = load_tools(["serpapi", "llm-math"], llm=llm)
# 初始化链
agent = initialize_agent(tools,llm=llm, agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
# 运行
agent.run("上海未来一周的天气怎么样?")
(5)记忆组件
以上实现的聊天机器人已经可以运行了,但它是无状态的,在对话中无法跟踪与用户的交互信息,此时就需要 LangChain 提供的“记忆”组件了。
记忆组件具有两个基本操作:读取和写入。
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
# 创建内置的记忆组件
memory = ConversationBufferMemory(return_messages=True)
# 创建一个会话链
conversation = ConversationChain(memory=memory, prompt=chat_prompt, llm=llm)
# 运行
conversation.predict(input="你好,我是jack")
祝贺大家,到这里,你基本掌握了 LangChain 的重要概念以及基本的使用方法,同时也完成了第一个聊天机器人,一起动起手来吧!
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

👉3.大模型实际应用报告合集👈
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

👉4.大模型实战项目&项目源码👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
为什么分享这些资料?
只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
更多推荐


所有评论(0)