File size: 952 Bytes
c9ed90a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from pydantic import BaseModel, Field
from typing import List, Optional
from datetime import datetime

class ChatMessage(BaseModel):
    role: str = Field(..., description="Role of the message sender (user/assistant)")
    content: str = Field(..., description="Content of the message")
    timestamp: datetime = Field(default_factory=datetime.utcnow)

class ChatRequest(BaseModel):
    query: str = Field(..., description="User's query about invoice reimbursements")
    chat_history: Optional[List[ChatMessage]] = Field(default=None, description="Previous chat messages for context")

class ChatResponse(BaseModel):
    response: str = Field(..., description="Assistant's response in markdown format")
    relevant_invoices: Optional[List[str]] = Field(default=None, description="List of relevant invoice IDs referenced in the response")
    chat_history: List[ChatMessage] = Field(..., description="Updated chat history including the new exchange")