kangda_robot_backend/ruoyi-fastapi-backend/module_admin/entity/vo/ragflow_vo.py

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='解析器配置')