Files
xiaozhi-esp32-server/main/manager-api-fastapi/app/schemas/knowledge.py
T

54 lines
1.5 KiB
Python

from __future__ import annotations
from datetime import datetime
from typing import Any
from pydantic import AliasChoices, Field
from app.schemas.common import JavaModel
class KnowledgeBaseBody(JavaModel):
id: str | None = None
dataset_id: str | None = None
rag_model_id: str | None = None
name: str | None = None
avatar: str | None = None
description: str | None = None
embedding_model: str | None = None
permission: str | None = None
chunk_method: str | None = None
parser_config: str | None = None
chunk_count: int | None = None
token_num: int | None = None
status: int | None = None
creator: int | None = None
created_at: datetime | None = None
updater: int | None = None
updated_at: datetime | None = None
document_count: int | None = None
error_message: str | None = None
class DocumentBatchBody(JavaModel):
ids: list[str] | None = Field(
default=None,
validation_alias=AliasChoices("ids", "document_ids"),
)
class RetrievalBody(JavaModel):
dataset_ids: list[str] | None = None
document_ids: list[str] | None = None
question: str | None = None
page: int | None = None
page_size: int | None = None
similarity_threshold: float | None = None
vector_similarity_weight: float | None = None
top_k: int | None = None
rerank_id: str | None = None
highlight: bool | None = None
keyword: bool | None = None
cross_languages: list[str] | None = None
metadata_condition: dict[str, Any] | None = None