sample_center.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from pydantic import BaseModel, field_validator
  2. class KnowledgeBaseItem(BaseModel):
  3. id: str
  4. name: str
  5. parent_table: str = ""
  6. child_table: str = ""
  7. document_count: int
  8. status: str
  9. created_at: str
  10. created_by: str
  11. metadata_schema: list[dict] = []
  12. @field_validator("parent_table", "child_table", mode="before")
  13. @classmethod
  14. def none_to_empty(cls, v: str | None) -> str:
  15. return v if v is not None else ""
  16. class KnowledgeBaseListResponse(BaseModel):
  17. total: int
  18. page: int
  19. page_size: int
  20. items: list[KnowledgeBaseItem]
  21. class KnowledgeBaseDetailResponse(BaseModel):
  22. id: str
  23. name: str
  24. description: str = ""
  25. parent_table: str = ""
  26. child_table: str = ""
  27. document_count: int
  28. status: str
  29. created_at: str
  30. updated_at: str = ""
  31. created_by: str
  32. metadata_schema: list[dict] = []
  33. @field_validator("parent_table", "child_table", mode="before")
  34. @classmethod
  35. def none_to_empty(cls, v: str | None) -> str:
  36. return v if v is not None else ""
  37. class ImportTaskResponse(BaseModel):
  38. task_id: str
  39. status: str
  40. class KbImportResponse(BaseModel):
  41. kb_id: str
  42. kb_name: str
  43. document_count: int
  44. metadata_schema: list[dict] = []
  45. parent_table: str = ""
  46. child_table: str = ""
  47. @field_validator("parent_table", "child_table", mode="before")
  48. @classmethod
  49. def none_to_empty(cls, v: str | None) -> str:
  50. return v if v is not None else ""