File size: 1,073 Bytes
e9d730a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# src/models/chat.py
from pydantic import BaseModel
from typing import Optional, List, Dict
from datetime import datetime
from .base import ChatMetadata

class ChatRequest(BaseModel):
    """Request model for chat endpoint"""
    query: str
    llm_provider: str = 'openai'
    max_context_docs: int = 3
    temperature: float = 0.7
    stream: bool = False
    conversation_id: Optional[str] = None

class ChatResponse(ChatMetadata):
    """Response model for chat endpoint"""
    response: str
    context: Optional[List[str]] = None
    sources: Optional[List[Dict[str, str]]] = None
    relevant_doc_scores: Optional[List[float]] = None

class FeedbackRequest(BaseModel):
    """Request model for feedback endpoint"""
    rating: int
    feedback: Optional[str] = None

class SummarizeRequest(BaseModel):
    """Request model for summarize endpoint"""
    conversation_id: str
    include_metadata: bool = True

class SummaryResponse(BaseModel):
    """Response model for summarize endpoint"""
    summary: str
    key_insights: Dict
    metadata: Optional[Dict] = None