from pydantic import BaseModel from typing import Optional class Token(BaseModel): access_token: str token_type: str class TokenData(BaseModel): username: Optional[str] = None class User(BaseModel): username: str email: Optional[str] = None full_name: Optional[str] = None disabled: Optional[bool] = None class UserInDB(User): hashed_password: str class UserCreate(BaseModel): username: str password: str class EmbeddingRequest(BaseModel): sentences: list[str] class PredictRecord(BaseModel): subject: str sub_subject: str name_category: str name: str abstract: Optional[str] = None memo: Optional[str] = None class PredictResult(BaseModel): subject: str sub_subject: str name_category: str name: str abstract: Optional[str] = None memo: Optional[str] = None confirmed: str standard_subject: str standard_name: str similarity_score: float class PredictRawRequest(BaseModel): records: list[PredictRecord] class PredictRawResponse(BaseModel): results: list[PredictResult]