Files
TERES_fastapi_backend/api/apps/models/dialog_models.py

58 lines
2.5 KiB
Python
Raw Normal View History

2025-11-06 17:15:46 +08:00
#
# Copyright 2024 The InfiniFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from typing import Optional, List, Dict, Any
from pydantic import BaseModel, Field
class SetDialogRequest(BaseModel):
"""设置/创建对话框请求"""
dialog_id: Optional[str] = Field(default="", description="对话框ID为空时创建新对话框")
name: Optional[str] = Field(default="New Dialog", description="对话框名称")
description: Optional[str] = Field(default="A helpful dialog", description="对话框描述")
icon: Optional[str] = Field(default="", description="图标")
top_n: Optional[int] = Field(default=6, description="Top N")
top_k: Optional[int] = Field(default=1024, description="Top K")
rerank_id: Optional[str] = Field(default="", description="重排序模型ID")
similarity_threshold: Optional[float] = Field(default=0.1, description="相似度阈值")
vector_similarity_weight: Optional[float] = Field(default=0.3, description="向量相似度权重")
llm_setting: Optional[Dict[str, Any]] = Field(default={}, description="LLM设置")
meta_data_filter: Optional[Dict[str, Any]] = Field(default={}, description="元数据过滤器")
prompt_config: Dict[str, Any] = Field(..., description="提示配置")
kb_ids: Optional[List[str]] = Field(default=[], description="知识库ID列表")
llm_id: Optional[str] = Field(default=None, description="LLM ID")
class ListDialogsNextQuery(BaseModel):
"""列出对话框查询参数"""
keywords: Optional[str] = ""
page: Optional[int] = 0
page_size: Optional[int] = 0
parser_id: Optional[str] = None
orderby: Optional[str] = "create_time"
desc: Optional[str] = "true"
class ListDialogsNextBody(BaseModel):
"""列出对话框请求体"""
owner_ids: Optional[List[str]] = []
class DeleteDialogRequest(BaseModel):
"""删除对话框请求"""
dialog_ids: List[str] = Field(..., description="要删除的对话框ID列表")