新增获取全部知识库的接口,api版本号重归到v1

This commit is contained in:
2026-01-20 02:47:03 +08:00
parent 860ada3334
commit 155974572c
10 changed files with 130 additions and 184 deletions

43
backend/schemas/v1.py Normal file
View File

@@ -0,0 +1,43 @@
from pydantic import BaseModel, Field
from typing import List, Optional, Dict, Any
# --- 通用响应 ---
class ResponseBase(BaseModel):
code: int = Field(..., description="1: 成功, 0: 失败")
msg: str
data: Optional[Any] = None
# --- [GET] 知识库列表 (新功能) ---
class KnowledgeBaseItem(BaseModel):
task_id: int
root_url: str
name: str # 提取出的简短名称,方便 LLM 识别
class KnowledgeBaseListResponse(BaseModel):
total: int
list: List[KnowledgeBaseItem]
# --- [POST] 创建任务 ---
class TaskCreateRequest(BaseModel):
url: str = Field(..., description="目标网站根URL")
# --- [POST] 执行任务 ---
class TaskExecuteRequest(BaseModel):
batch_size: int = Field(10, le=50)
# --- [POST] 搜索 ---
class SearchRequest(BaseModel):
query: str
# 明确支持 None 为全局搜索
task_id: Optional[int] = Field(None, description="任务ID不传则搜全库")
limit: int = Field(5, description="返回数量")
# ... (SearchResultItem 等保持不变) ...
class SearchResultItem(BaseModel):
task_id: int
source_url: str
title: Optional[str] = None
content: str
score: float
meta_info: Dict = {}
reranked: Optional[bool] = False