| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from __future__ import annotations
- """地点研究结果模型:MapResearchResult包含候选景点、餐饮与天气信息。"""
- from pydantic import Field
- from app.schemas.common import AppModel
- class PlaceCandidate(AppModel):
- """真实地点候选。"""
- poi_id: str | None = None
- name: str
- category: str | None = None
- address: str | None = None
- district: str | None = None
- # 高德通常使用 "经度,纬度" 字符串
- location: str | None = None
- telephone: str | None = None
- source_query: str | None = None
- # 这里只说明为什么匹配用户兴趣,
- # 不涉及距离和交通便利性的判断。
- match_reason: str | None = None
- class WeatherItem(AppModel):
- """天气查询结果。"""
- date: str | None = None
- week: str | None = None
- day_weather: str | None = None
- night_weather: str | None = None
- day_temperature: str | None = None
- night_temperature: str | None = None
- day_wind_direction: str | None = None
- night_wind_direction: str | None = None
- class MapResearchResult(AppModel):
- """地图研究 Agent 的结构化结果。"""
- city: str
- attractions: list[PlaceCandidate] = Field(
- default_factory=list
- )
- restaurants: list[PlaceCandidate] = Field(
- default_factory=list
- )
- weather: list[WeatherItem] = Field(
- default_factory=list
- )
- notes: list[str] = Field(
- default_factory=list
- )
|