Spaces:
No application file
No application file
File size: 1,546 Bytes
80dbe44 |
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 |
"""
Chat API schemas for transportation application
"""
from pydantic import BaseModel, Field
from typing import List, Dict, Any, Optional
class ChatRequest(BaseModel):
"""Schema cho chat request"""
message: str = Field(..., description="Tin nhắn từ người dùng", example="Dự đoán phương thức vận chuyển cho project ABC")
class FunctionCall(BaseModel):
"""Schema cho function call"""
function_name: str = Field(..., description="Tên function được gọi")
arguments: Dict[str, Any] = Field(..., description="Tham số của function")
result: Dict[str, Any] = Field(..., description="Kết quả của function")
class ChatResponse(BaseModel):
"""Schema cho chat response"""
response: str = Field(..., description="Phản hồi từ AI")
function_calls: List[FunctionCall] = Field(default_factory=list, description="Các function calls đã thực hiện")
status: str = Field(default="success", description="Trạng thái response")
error_message: Optional[str] = Field(None, description="Thông báo lỗi nếu có")
class StreamChunk(BaseModel):
"""Schema cho streaming chunk với định dạng gọn"""
event: str = Field(..., description="Loại event: status, delta, final")
stage: Optional[str] = Field(None, description="Stage cho status event: starting, processing, completed")
message: Optional[str] = Field(None, description="Message cho status event")
content: Optional[str] = Field(None, description="Nội dung cho delta và final event") |