Files
amb_rag/backend/app/schemas/knowledge_base.py
T
2026-09-02 18:04:41 +08:00

46 lines
1.1 KiB
Python

"""知识库相关 Pydantic v2 Schema。"""
from pydantic import BaseModel, Field
class KbCreateRequest(BaseModel):
name: str = Field(min_length=1, max_length=255)
description: str | None = Field(default=None, max_length=2000)
class KbUpdateRequest(BaseModel):
name: str | None = Field(default=None, min_length=1, max_length=255)
description: str | None = None
class KbResponse(BaseModel):
id: str
name: str
description: str | None
enabled: bool
token_hint: str | None
ai_url: str | None = None # 仅创建/重置时返回完整 URL
document_count: int = 0
created_at: str
updated_at: str
model_config = {"from_attributes": True}
class KbListResponse(BaseModel):
items: list[KbResponse]
total: int
class KbTokenResponse(BaseModel):
"""Token 重置/创建/查询时的完整 URL 响应。"""
token: str
ai_url: str
token_hint: str
expires_at: str | None = None
is_expired: bool = False
class KbSetExpiryRequest(BaseModel):
"""设置链接有效期。expires_in_minutes=null 表示长期有效。"""
expires_in_minutes: int | None = None