CoolFace
Apppublic

miyukicodes/d-commerce

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
models.py64 linesDownload Raw Back to root
1from pydantic import BaseModel, Field2from typing import List, Optional, Dict, Any3from datetime import datetime4 5# Source information model6class SourceInfo(BaseModel):7    id: str8    name: str9    category: str10    price: str11    similarity_score: float12 13# Chat request and response models14class ChatRequest(BaseModel):15    message: str16    conversation_id: Optional[str] = None17 18class ChatResponse(BaseModel):19    response: str20    sources: List[SourceInfo]  # Changed from List[str] to List[SourceInfo]21    suggested_questions: List[str]22    conversation_id: Optional[str] = None  # Make this optional23 24# Product models25class Product(BaseModel):26    id: str27    name: str28    category: str29    description: str30    price: float31    image_url: Optional[str] = None32    tags: List[str] = []33 34class SearchRequest(BaseModel):35    query: str36    category: Optional[str] = None37    limit: int = 2038 39# Conversation models40class ChatMessage(BaseModel):41    role: str  # "user" or "assistant"42    content: str43    timestamp: datetime44 45class Conversation(BaseModel):46    id: str47    user_id: str48    messages: List[ChatMessage]49    created_at: datetime50    updated_at: datetime51 52# Knowledge base models53class Document(BaseModel):54    content: str55    metadata: Dict[str, Any] = {}56    source: str = "upload"57 58class KnowledgeDocument(BaseModel):59    id: str60    content: str61    embedding: List[float]62    metadata: Dict[str, Any]63    source: str64    created_at: datetime