preprocessing endpoint fixed and chat endpoint has been updated to specific results-sem wise
d0220ae | from typing import Dict, List, Literal | |
| from pydantic import BaseModel, Field, HttpUrl | |
| LangCode = Literal["en", "hn", "mr", "kn"] | |
| class CourseInput(BaseModel): | |
| course_code: str = Field(..., min_length=1) | |
| name: str = Field(..., min_length=1) | |
| course_type: str = Field(..., min_length=1) | |
| syllabus_url: HttpUrl | |
| semester: int = Field(..., ge=1, le=12) | |
| class CourseSummary(BaseModel): | |
| course_code: str | |
| ai_summary: Dict[LangCode, str] | |
| class CourseProcessError(BaseModel): | |
| course_code: str | |
| error: str | |
| class SyllabusProcessResponse(BaseModel): | |
| results: List[CourseSummary] | |
| failed: List[CourseProcessError] = Field(default_factory=list) | |
| total_received: int | |
| total_processed: int | |
| total_failed: int | |
| class ChatMessage(BaseModel): | |
| role: Literal["user", "assistant", "system"] | |
| content: str | |
| class ChatRequest(BaseModel): | |
| query: str | |
| history: List[ChatMessage] = Field(default_factory=list, max_length=5) | |
| student_id: int = Field(..., ge=1) | |
| lang_code: LangCode | |
| semester: int = Field(..., ge=1, le=12) | |
| class ChatResponse(BaseModel): | |
| reply_markdown: str | |