1. 项目概述
最近在探索LangChain的Agent开发,尝试实现了一个简单的天气查询助手。这个项目核心是利用LangChain框架,将天气API封装成工具函数,让大语言模型能够通过工具调用的方式获取实时天气数据,并以自然语言形式返回给用户。
这个天气查询Agent的实现涉及几个关键技术点:
- 使用@tool装饰器定义天气查询工具函数
- 配置ChatOpenAI连接阿里云百炼模型
- 设计系统提示词规范输出格式
- 创建具备工具调用能力的智能体
下面我会详细拆解每个环节的实现细节和设计考量,分享在实际开发中遇到的问题和解决方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖安装
2.1 版本兼容性说明
首先需要特别注意LangChain的版本问题。这个项目使用的是LangChain 1.0版本,与老版本0.3存在兼容性问题。如果你之前安装过旧版本,建议先卸载:
bash复制pip uninstall langchain
然后安装指定版本:
bash复制pip install langchain==1.0.0
还需要安装以下依赖:
bash复制pip install langchain_openai requests pydantic
注意:这里使用langchain_openai而不是直接安装openai库,因为我们需要的是LangChain对OpenAI API的封装实现,而不是原生OpenAI SDK。
2.2 开发环境配置
建议使用Python 3.8+版本,我实测在3.10环境下运行最稳定。如果你使用虚拟环境,可以这样创建:
bash复制python -m venv weather_agent
source weather_agent/bin/activate # Linux/Mac
weather_agent\Scripts\activate # Windows
3. 核心组件实现
3.1 天气查询工具函数
工具函数是Agent能够调用外部API的关键。我们使用@tool装饰器定义一个get_weather函数:
python复制import requests
from langchain.tools import tool
from
