Langchain-Chatchat
29 строк · 924.0 Байт
1"""
2更简单的单参数输入工具实现,用于查询现在天气的情况
3"""
4from pydantic import BaseModel, Field5import requests6from configs.kb_config import SENIVERSE_API_KEY7
8
9def weather(location: str, api_key: str):10url = f"https://api.seniverse.com/v3/weather/now.json?key={api_key}&location={location}&language=zh-Hans&unit=c"11response = requests.get(url)12if response.status_code == 200:13data = response.json()14weather = {15"temperature": data["results"][0]["now"]["temperature"],16"description": data["results"][0]["now"]["text"],17}18return weather19else:20raise Exception(21f"Failed to retrieve weather: {response.status_code}")22
23
24def weathercheck(location: str):25return weather(location, SENIVERSE_API_KEY)26
27
28class WeatherInput(BaseModel):29location: str = Field(description="City name,include city and county")30