Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field, EmailStr | |
| # from typing import Optional | |
| # from datetime import datetime, timezone | |
| # class BaseDocument(BaseModel): | |
| # created_at: Optional[datetime] = Field( | |
| # default_factory=lambda: datetime.now(timezone.utc) | |
| # ) | |
| # updated_at: Optional[datetime] = Field( | |
| # default_factory=lambda: datetime.now(timezone.utc) | |
| # ) | |
| # class Config: | |
| # arbitrary_types_allowed = True | |
| # class Activity(BaseDocument): | |
| # id: Optional[str] = Field("", description="Activity's id") | |
| # user_id: str = Field("", description="User's id") | |
| # activity_category: str = Field("", description="Activity's category") | |
| # description: str = Field("", description="Activity's description") | |
| # start_time: Optional[datetime] = Field("", description="Activity's start time") | |
| # end_time: Optional[datetime] = Field("", description="Activity's end time") | |
| # class BookHotel(BaseDocument): | |
| # hotel_name: str = Field("", description="Hotel's name") | |
| # address: str = Field("", description="Hotel's address") | |
| # phone_number: str = Field("", description="Hotel's phone number") | |
| # hotel_email: EmailStr = Field("", description="Hotel's email") | |
| # start_time: Optional[datetime] = Field("", description="Start time of the booking") | |
| # end_time: Optional[datetime] = Field("", description="End time of the booking") | |
| # rating: str = Field("", description="Hotel's rating") | |
| # website: str = Field("", description="Hotel's website") | |
| # class Config: | |
| # json_schema_extra = { | |
| # "example": { | |
| # "hotel_name": "Blue Lagoon Resort", | |
| # "address": "123 Beachside Blvd, Paradise City, Island Nation 54321", | |
| # "phone_number": "+1234567890", | |
| # "hotel_email": "baohtqe170017@fpt.edu.vn", | |
| # "start_time": "2025-01-05T14:00:00.000+00:00", | |
| # "end_time": "2025-01-10T11:00:00.000+00:00", | |
| # "rating": "4.5", | |
| # "website": "https://www.bluelagoonresort.com", | |
| # } | |
| # } | |
| class NearlyDestinationRecommendation(BaseModel): | |
| query: str = Field( | |
| ..., | |
| title="Query related to wanting to go somewhere", | |
| description="Auto extracted from user's message. Using Vietnamese language for better results.", | |
| ) | |
| places: str = Field(..., title="Places", description="place mention in query") | |
| kinds: str = Field( | |
| ..., | |
| title="Kinds", | |
| description=""" | |
| Kinds of places you want to find choose one of options: | |
| ["architecture", "historic", "cultural", "natural", "sport", "religion", "accomodations", "foods", "shops", "other"]""", | |
| ) | |
| class Config: | |
| json_schema_extra = { | |
| "example": {"query": "Địa điểm gần Hà Nội" "places" "Hà Nội"} | |
| } | |