Langchain学习教程一:Hello World详细实战演练与代码实例解析
LangChain是构建大语言模型应用的框架,提供模型对接、提示模板、记忆管理、工具调用等功能。其生态包含架构层、组件层、部署层三层主结构及辅助平台LangSmith。通过PythonSDK可快速调用模型,支持流式输出。
生成式AI的热度究竟有多高,已经无需赘述。对于广大开发者而言,一个现实而紧迫的问题摆在眼前:如何才能快速、高效地开发出一款基于大语言模型(LLM)的应用?这几乎成了许多初学者入局时的刚需。我自己也正在钻研这一领域,选择LangChain作为入门框架,理由其实很简单——市面上的主流教程,十有八九都在围绕它展开。
当然,这只是一个玩笑。真实的原因在于,当前大模型层出不穷:国外的Gemini、Grok、Claude、OpenAI,国内的Qwen、DeepSeek、GLM-4等。如果你想构建一个具备多模型接入、外部API调用、多轮对话记忆、以及多步骤推理链路的AI应用,手动实现会是什么局面?
不妨先看看,如果完全手工搭建,各个环节需要你亲力亲为的工作量:
| 模块 | 手动实现需要做的事情 |
|---|---|
| 模型对接 | 分别为OpenAI、Anthropic、Qwen、DeepSeek编写SDK封装 |
| Prompt模板 | 自己维护模板拼接、变量注入、版本管理 |
| 多轮对话 | 自行管理对话历史、上下文拼接 |
| Chain流程 | 手写控制逻辑,例如先提问、再搜索、最后汇总 |
| 外部工具调用 | 手动构造Function Calling请求,封装外部API |
| 日志调试 | 没有统一工具,全靠自己打日志、写测试脚本 |
| 流程测试 | 缺乏LangSmith这类工具,测试方式相当原始 |
| 部署 | 自己搭建流程图引擎、调度平台,相当于重做一个LangGraph Platform |
而使用一个大语言模型框架,恰恰能够把上述重复造轮子的工作大量省去。这么一想,是不是觉得挺划算?
什么是 LangChain?
简单来说,LangChain是一个专门用于构建基于大语言模型应用的框架,其核心目标是帮助开发者更轻松地搭建出复杂且可组合的AI应用。
它提供的功能模块包括:对接多个LLM供应商(如OpenAI、Anthropic、Google等),支持Prompt模板、工具调用、记忆管理和上下文管理,内置文档问答、聊天机器人、多步推理等常见范式,同时与OpenAPI接口有良好的集成能力。
能用 LangChain 做什么?
借助它,我们可以快速开发出:文档问答系统(例如上传PDF后直接提问)、多轮对话机器人、智能摘要和文本处理工具、Web搜索增强问答,以及基于OpenAPI的工具集成插件。
LangChain目前提供了Python和JS两个官方SDK。就功能完备性、更新速度和社区支持而言,Python版本显然更胜一筹,因此本次学习也将选择Python版本。当前大版本是0.3.x,据说0.1到0.3之间每个大版本差异不小,这里我直接选用最新的0.3.x。
langchain 架构图
从LangChain官方的这张架构图中,可以解读出它的生态包含三层主结构,外加一个辅助平台。
主结构(三层)
1. Architecture(架构层)
这一层是开发者直接编写代码的地方,包含两个核心部分:LangChain——开源核心框架,提供Prompt构造、Chain、Memory、Tool调用等基础设施;LangGraph——基于状态机思想的图状Chain控制器,用于构建带分支和循环的复杂推理逻辑。
2. Components(组件层)
集成了大量模型、数据库、搜索引擎和工具插件,比如OpenAI、Anthropic、Wea viate、Qdrant、Pinecone、Google Search等。简单理解就是,LangChain已经帮你接好了各种LLM和工具,直接调用即可。
3. Deployment(部署层)
LangGraph Platform(商业版)是官方提供的托管平台,用于部署你构建的LangGraph工作流,并提供用户界面、运行管理、API网关等功能,非常适合企业级部署。
辅助工具平台:LangSmith
这是一个至关重要的调试与管理平台。它的功能包括:可视化查看每步Chain的执行情况(Debugging)、试验Prompt和模型效果(Playground)、Prompt版本控制与复用(Prompt Management)、数据标注与评估(Annotation)、单元测试和性能评估(Testing),以及应用上线后的实时监控(Monitoring)。可以把它理解成AI应用的“观察与分析仪表盘”,帮助构建、优化、迭代智能Agent。
OpenAI Compatible
所谓OpenAI兼容,指的是该平台或模型支持与OpenAI官方API相同的接口规范,可以直接用OpenAI的SDK调用,无需修改代码。
我这里使用的是硅基流动作为大模型提供方(主要是之前官方赠送的额度还没用完)。如果你有OpenAI官方的API Key,或者使用其他平台,这部分内容可以直接跳过。
- 访问官网:https://www.siliconflow.cn/
- 注册账户并登录
- 点击菜单栏【API 密钥】-【新建 API 密钥】
- 保存你的API Key,或将其设置为本地环境变量
需要注意的是,硅基流动是OpenAI接口兼容的,所以可以直接配合OpenAI模块来使用。
Hello World
先来写一个最简单的调用示例(虚拟环境配置这里略过,可以自行查阅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)即可。
流式调用(Streaming)
上面的示例中,模型的返回内容是一次性给出的,而非流式输出。实际上,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)
在控制台执行这段代码,你就能看到内容像打字机一样逐字蹦出来。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:Langchain学习教程一:Hello World详细实战演练与代码实例解析要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点联想GM11电竞鼠标新增有线版本,售价89元。产品采用白色设计,侧面为金属漆工艺按键,底部带RGB灯效,专为右手型中大手用户优化,重量约66克。配置方面,内置800万次点击微动,使用USB-C接口有线连接。这款鼠标主打轻量化和稳定操作,适合追求性价比的电竞玩家或日常使用。
Windows11持续功能推送系统被曝存在缺陷,部分用户开启“尽快获取最新更新”后仍无法及时收到新功能。技术支持调查称后台进程存在严重缺陷,原因未明,问题工单随后被关闭。微软尚未就此发布官方声明。
讯飞听见支持导入 docx、 txt、 pdf格式,文件不超过100MB,PDF需为文字型,Word需关闭兼容模式并删除空白页或分节符。登录后上传文档,可设置自动识别语种或关联音频,解析时间依文件大小而定,一般几分钟到数十分钟不等。
WHEE图生图、AI改图需上传JPG或PNG,分辨率不低于1024×768,大小不超过50MB,不支持WebP和HEIC。支持本地拖拽、手机拍照(关闪光灯)或分享。批量上传最多8张,超出自动截断不提示。
- 日榜
- 周榜
- 月榜
热点快看
