49 lines
2.0 KiB
Python
49 lines
2.0 KiB
Python
from datetime import datetime
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
from pydantic.alias_generators import to_camel
|
|
from typing import Optional
|
|
from module_admin.annotation.pydantic_annotation import as_query
|
|
|
|
|
|
|
|
class RagflowListQueryModel(BaseModel):
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
page: int = Field(default=1, description='当前页码')
|
|
page_size: int = Field(default=10, description='每页数量')
|
|
orderby: Optional[str] = Field(default='create_time', description='排序字段')
|
|
desc: Optional[str] = Field(default='true', description='排序方式')
|
|
name: Optional[str] = Field(default=None, description='名称')
|
|
dataset_id: Optional[str] = Field(default=None, description='数据集ID')
|
|
|
|
@as_query
|
|
class ListDocumentsQueryModel(BaseModel):
|
|
"""
|
|
查询文档列表参数模型
|
|
"""
|
|
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
|
|
page: int = Field(default=1, description='当前页码')
|
|
page_size: int = Field(default=10, description='每页数量')
|
|
orderby: Optional[str] = Field(default='create_time', description='排序字段')
|
|
desc: Optional[str] = Field(default='true', description='排序方式')
|
|
keywords: Optional[str] = Field(default=None, description='关键字')
|
|
document_id: Optional[str] = Field(default=None, description='文档ID')
|
|
document_name: Optional[str] = Field(default=None, description='文档名称')
|
|
|
|
|
|
class UpdateFileModel(BaseModel):
|
|
"""
|
|
更新文件模型
|
|
"""
|
|
# name 要带文件后缀名
|
|
name: Optional[str] = Field(default=None, description='文件名称')
|
|
meta_fields: Optional[dict] = Field(default=None, description='文件元数据')
|
|
|
|
# naive, manual qa table paper book laws presentation picture one email
|
|
chunk_method: Optional[str] = Field(default=None, description='分块方法')
|
|
|
|
# 不同的分块方法有不同的参数.
|
|
parser_config: Optional[dict] = Field(default=None, description='解析器配置')
|
|
|
|
|
|
|
|
|