| 1234567891011121314151617181920212223242526272829 |
- from pydantic import BaseModel
- from typing import Optional
- class RecommendItem(BaseModel):
- type: str # product / activity / article
- id: int
- name: str
- description: str = ""
- cover_image: str = ""
- price: Optional[float] = None
- url: str = ""
- score: float = 0.0
- reason: str = ""
- class RecommendRequest(BaseModel):
- user_id: int
- query: str = ""
- tags: list[str] = []
- types: Optional[list[str]] = None
- limit: int = 5
- context: Optional[dict] = None
- class RecommendResponse(BaseModel):
- items: list[RecommendItem]
- source: str = "" # sql / vector / hybrid
- trace_id: str = ""
|