优化参数处理逻辑,添加默认值支持;更新天气获取函数的返回信息

This commit is contained in:
远野千束(神羽) 2024-12-15 17:43:03 +08:00
parent df8bc01178
commit 5fc4140cf7
2 changed files with 8 additions and 2 deletions

View File

@ -131,6 +131,12 @@ class Caller:
param.annotation, Caller
):
kwargs[name] = self
# 检查形参是否有默认值或传入若没有则用parameters中的默认值填充
for name, param in sig.parameters.items():
if name not in kwargs:
kwargs[name] = self._parameters.get(name, param.default)
return await self.func(*args, **kwargs)

View File

@ -32,14 +32,14 @@ async def fortune_telling(age: int, name: str, gender: str) -> str:
@on_function_call(description="获取一个地点未来一段时间的天气").params(
location=String(description="地点名称,可以是城市名、地区名等"),
days=Integer(description="天数", minimum=1, maximum=30),
unit=String(enum=["摄氏度", "华氏度"], description="温度单位"),
unit=String(enum=["摄氏度", "华氏度"], description="温度单位", default="摄氏度"),
)
async def get_weather(location: str, days: int, unit: str) -> str:
"""获取一个地点未来一段时间的天气"""
# 进行一系列获取天气操作...
return f"{location}未来{days}天的天气信息..."
return f"{location}未来{days}天的天气很好全都是晴天温度是34"
@on_function_call(description="获取设备物理地理位置")