微信扫码
添加专属顾问
我要投稿
探索LangChain框架,快速入手大型语言模型应用开发。 核心内容: 1. LangChain框架的背景与意义 2. LangChain核心模块详解与功能 3. 通过天气查询智能体示例,实操LangChain开发
在人工智能快速发展的时代,大型语言模型(LLM)如 OpenAI 的 GPT 系列,已成为生成自然语言文本的核心技术。然而,将这些模型应用于实际应用(如聊天机器人或虚拟助手)时,开发者常常面临提示管理、外部数据集成和上下文保持的挑战。LangChain 作为一个开源框架,旨在简化这些复杂性,提供模块化工具,帮助开发者高效构建 LLM 驱动的应用。
LangChain 于 2022 年 10 月由 Harrison Chase 在 Robust Intelligence 启动,迅速获得社区支持,GitHub 上有数百位贡献者,活跃的 Discord 服务器和 YouTube 教程也为其普及提供了助力 (LangChain - Wikipedia)。截至 2025 年 2 月,它仍是 LLM 应用开发的热门选择,支持 Python 和 JavaScript,拥有超过 100 万开发者使用 (LangChain Official Website)。
本文将深入探讨 LangChain 的核心模块及其作用,并通过一个详细的天气查询智能体示例,展示如何将这些模块应用于实际开发,特别适合初学者快速上手。
LangChain 的功能通过多个模块实现,每个模块负责特定任务。以下是关键模块的详细说明,基于 GitHub 仓库 (LangChain GitHub Repository) 和官方文档 (LangChain Python Documentation) 的信息。
LLMs(大型语言模型)
Chains(链)
Agents(智能体)
Memory(记忆)
Retrievers(检索器)
Embeddings 和 Vector Stores(嵌入与向量存储)
Tools(工具)
除了上述关键模块,LangChain 还有以下辅助模块,适合高级开发或特定需求:
为了展示 LangChain 的实际应用,我们将构建一个天气查询智能体,能回答天气问题并记住对话历史。以下是逐步实现过程,基于 2025 年 2 月的最新文档。
首先,安装 LangChain 和相关依赖,并设置 API 密钥:
pip install langchain openai
设置环境变量:
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
os.environ["OPENWEATHERMAP_API_KEY"] = "your_openweathermap_api_key"
使用 OpenWeatherMap API 创建工具:
from langchain.agents import Tool
from langchain.utilities import OpenWeatherMapWrapper
weather_api = OpenWeatherMapWrapper()
weather_tool = Tool(
name="Weather API",
func=weather_api.get_current_weather,
description="Useful for when you need to get the current weather for a specific city",
)
使用 OpenAI 的 GPT-3.5-turbo 模型,并添加对话记忆:
from langchain.chatmodels import ChatOpenAI
from langchain.memory import ConversationBufferMemory
llm = ChatOpenAI(model_name="gpt-3.5-turbo")
memory = ConversationBufferMemory()
使用 ZeroShotAgent 创建智能体,包含记忆功能:
from langchain.agents import ZeroShotAgent, AgentExecutor
agent_prompt = ZeroShotAgent.create_prompt(
tools=[weather_tool],
prefix="You are an assistant that helps with weather information. You can remember previous queries and their responses to provide context for current questions.",
suffix="Assistant",
input_variables=["input", "agent_scratchpad", "chat_history"],
)
agent = ZeroShotAgent(llm=llm, prompt=agent_prompt, tools=[weather_tool], memory=memory)
agent_chain = AgentExecutor.from_agent_and_tools(
agent=agent, tools=[weather_tool], memory=memory, verbose=True
)
运行智能体,测试对话记忆:
response = agent_chain.run("What's the weather like in New York?")
print(response) # 例如:New York has a temperature of 20°C and it's currently raining.
response = agent_chain.run("What's the weather like in Los Angeles?")
print(response) # 例如:Los Angeles has a temperature of 25°C and it's sunny.
response = agent_chain.run("Is it colder in New York or Los Angeles?")
print(response) # 例如:New York is colder, with a temperature of 20°C compared to Los Angeles at 25°C.
LangChain 的模块化设计极大降低了 LLM 应用开发的门槛。通过理解 LLMs、Chains、Agents 等核心模块,开发者可构建如天气查询机器人等智能体,并利用记忆功能保持上下文。令人惊讶的是,即使初学者也能通过简单代码实现复杂功能,如对话记忆和工具调用。
LangChain 的文档和社区支持(如 GitHub 贡献和 Discord 讨论)为进一步学习提供了丰富资源 (LangChain GitHub Repository, LangChain - Wikipedia)。未来,开发者可探索更多模块如 Index(文档索引)或 Experimental(实验功能),优化应用性能。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-03-05
Agent 最全 Playbook:场景、记忆和交互创新
2025-03-05
基于LangGraph的智能文章生成Agent架构设计思路
2025-03-02
LangGraph全新4大预构建Agents框架登场
2025-03-01
释放 Langflow 的力量:使用 Rag 构建多工具代理
2025-02-28
用 LangGraph 构建 Agent 逐步指南
2025-02-28
刚刚,LangGraph官方开源Ultra版本,多智能体能力提升10倍!
2025-02-25
AI Agent 开发框架巡礼:流行度、案例与理性选择
2025-02-22
手把手教你使用Qwen-Agent开发智能体应用实战教程
2024-10-10
2024-04-08
2024-07-13
2024-06-03
2024-09-04
2024-08-18
2024-04-08
2024-06-24
2024-07-10
2024-03-28
2025-02-05
2024-12-02
2024-11-25
2024-10-30
2024-10-11
2024-08-18
2024-08-16
2024-08-04