如何利用LangChain1.0快速进行天气查询
@TOC如何利用LangChain1.0快速进行天气查询
如何利用LangChain1.0快速进行天气查询
1. 系统概述
本系统是一个基于LangChain框架构建的智能天气查询工具,利用通义千问大语言模型和知心天气API实现自然语言天气查询功能。用户可以通过自然语言提问来获取指定城市的天气信息。
2. 系统架构
2.1 主要组件
-
Agent代理模块 (
main.py)- 使用
ChatTongyi模型作为核心推理引擎 - 集成自定义天气查询工具
query_weather - 处理自然语言输入并生成相应响应
- 使用
-
天气工具模块 (
func_tool/wechat.py)- 实现了与知心天气API的交互逻辑
- 包含三个主要函数:
fetch_weather_sync: 同步获取天气数据format_weather: 格式化天气信息query_weather: LangChain工具接口函数
2.2 工作流程
- 用户提出自然语言查询(如"明天汕尾的天气怎么样,下雨吗")
- Agent解析用户意图并调用
query_weather工具 query_weather调用fetch_weather_sync从知心天气API获取数据- 获取的数据通过
format_weather格式化为易读文本 - Agent将格式化的结果返回给用户
3. 核心模块详解
3.1 Agent代理模块 (main.py)
from dotenv import load_dotenv
import os
# 加载.env文件中的环境变量
load_dotenv(override=True)from func_tool.wechat import query_weatherfrom langchain.agents import create_agent
from langchain_community.chat_models import ChatTongyi
model = ChatTongyi(model="qwen-turbo", api_key=os.getenv("DASHSCOPE_API_KEY"))agent = create_agent(model=model,tools=[query_weather]
)question1 = "明天汕尾的天气怎么样,下雨吗"# 运行agent
response1 = agent.invoke({"messages": [{"role": "user"