微信扫码
添加专属顾问
我要投稿
LangChain框架助你快速开发AI应用,告别重复造轮子,轻松实现多模型接入与复杂功能。 核心内容: 1. LangChain框架的核心优势与功能模块 2. 开发AI应用时手动实现与使用框架的对比 3. LangChain支持的常见应用场景与开发范式
在生成式 AI 火热的当下,如何快速开发一个基于大语言模型(LLM)的应用,成为了很多开发者的刚需。很多人都希望能搭上这一波浪潮,我自己最近也正在学习这一块的内容,同时选择了LangChain
作为学习框架。
至于为啥选择 langchain 呢?核心原因就一个:很多教程都是讲的 Langchain。
开个玩笑,我们知道目前市面上的大模型林林总总,国外的有 gemini、grok、Claude、openapi 等等,国内有 qwen、DeepSeek、glm-4 等等,那么假设你要开发一个具备以下功能的 AI 应用:
如果你不使用大语言模型开发框架,你需要
那么如果使用大语言模型框架,就能帮我们减少很多上述重复造轮子的工作,挺香的吧~
ok,上面介绍了为什么我们要使用大语言模型框架,接下来我们简单介绍下 langchain。
LangChain 是一个用于构建基于大语言模型(LLM)的应用框架,目标是帮助开发者更容易地构建复杂的、可组合的 AI 应用。
具体来说,LangChain 提供了以下功能模块:
我们可以在它的帮助下快速开发:
langchain 官网:https://python.langchain.com
目前 Langchain 提供了 Python 和 JS 2 个官方 SDK,但是整体来说,Python 版本功能最全面、更新速度和社区支持也算最好的,所以我这里选择的是 Python 版本作为学习。
另外 Langchain 目前的大版本是 0.3.x,听说 0.1 - 0.3 之间每个大版本有比较大的差异,我这里是选择的是最新的 0.3.x。
这是来自 langchain 官方的一张架构图,我们可以将它解读为:LangChain 生态包含三层结构 + 一侧辅助平台:
LangChain: 开源的核心框架,用于构建 LLM 应用的基础设施,包括 Prompt 构造、Chain、Memory、Tool 调用等。
LangGraph: 基于状态机思想的图状 chain 控制器,可以让你构建更复杂的、多分支的推理逻辑。用于管理带分支和循环的智能流程。
这一层是开发者直接用来写代码的地方。
简单理解就是:LangChain 帮你接好了各种 LLM 和工具插件,直接调用。
属于商业产品,适合企业级部署与托管。
这是一个非常重要的调试 & 管理平台,官方定位是用于:
🧠 LangSmith 类似是 AI 应用的“观察和分析仪表盘”,帮助你构建、优化、迭代智能 Agent。
该平台或模型 支持与 OpenAI 官方 API 相同的接口规范,可以直接用 OpenAI 的 SDK 调用,无需修改代码。
这里我使用的是硅基流动作为大模型提供方(主要是官方之前送的钱还没花完),如果你有 openai 官方的 api_key 或者其他平台的也是可以的,这一段内容可以跳过
注意:硅基流动是 OpenAI 接口兼容的,所以可以直接用于
OpenAI
模块。
我们来写一个最简单的调用示例。(此处略过虚拟环境环境配置,请自行查找 venv 或者 uv 等使用)
# 安装langchain_openai
pip install langchain_openai
然后创建一个 demo.py 文件
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="Qwen/Qwen3-32B",
openai_api_key="your_api_key",
base_url="https://api.siliconflow.cn/v1",
temperature=0
)
# 调用模型并生成回答
resp =llm.invoke("你好")
print(resp)
运行后你会看到 AI 返回的诗歌内容!
content='\n\n你好!有什么我可以帮你的吗?' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 156, 'prompt_tokens': 9, 'total_tokens': 165, 'completion_tokens_details': {'accepted_prediction_tokens': None, 'audio_tokens': None, 'reasoning_tokens': 147, 'rejected_prediction_tokens': None}, 'prompt_tokens_details': None}, 'model_name': 'Qwen/Qwen3-32B', 'system_fingerprint': '', 'id': '0197d0d93b8f37a5bc86740c3f1474d2', 'service_tier': None, 'finish_reason': 'stop', 'logprobs': None} id='run--41d63779-a82a-4e2d-83a7-557a7f87169b-0' usage_metadata={'input_tokens': 9, 'output_tokens': 156, 'total_tokens': 165, 'input_token_details': {}, 'output_token_details': {'reasoning': 147}}
可以看到,response 包含了大量的信息,比如大模型生成内容、token 用量、模型标识、运行 ID、完成状态等信息。
如果只需打印大模型返回的字符串,那么可以print(resp.content)
即可
在上面的demo 中,我们看到大模型返回内容是一次性返回的,而非流式,其实LangChain 也支持流式输出,即一边生成、一边展示。我们只需要作如下改造
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="Qwen/Qwen3-32B",
openai_api_key="your_api_key",
base_url="https://api.siliconflow.cn/v1",
temperature=0
)
# 流式调用模型并生成回答
for chunk in llm.stream("你好"):
print(chunk.content, end="", flush=True)
此时如果你在控制台执行,就能看到内容是流式蹦哒出来的了。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-07-23
Langchain学习教程二(提示词模板和 LCEL 语法)
2025-07-23
Langchain 教程三(FewShotChatMessagePromptTemplate)
2025-07-23
Langchain 教程四(OutputParser)
2025-07-23
Langchain教程五(LCEL 上篇)
2025-07-23
Langchain教程六(LCEL下篇)
2025-07-22
通俗易懂的LangGraph图定义解析
2025-07-21
LlamaIndex + LangChain 如何协同打造 AI 超级助手
2025-07-21
让AI像人一样“动脑筋”:教你用LangChain打造“超强智能体”!
2025-05-06
2025-06-05
2025-05-08
2025-05-28
2025-05-19
2025-05-28
2025-06-26
2025-04-25
2025-05-19
2025-04-26
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13
2025-05-21
2025-05-19
2025-05-08