新增获取全部知识库的接口,api版本号重归到v1
This commit is contained in:
@@ -1,44 +0,0 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional, List, Any
|
||||
|
||||
|
||||
class RegisterRequest(BaseModel):
|
||||
url: str
|
||||
|
||||
class PendingRequest(BaseModel):
|
||||
task_id: int
|
||||
limit: Optional[int] = 10
|
||||
|
||||
class AddUrlsRequest(BaseModel):
|
||||
task_id: int
|
||||
urls_obj: dict
|
||||
|
||||
class CrawlResult(BaseModel):
|
||||
source_url: str
|
||||
chunk_index: int # 新增字段
|
||||
title: Optional[str] = None
|
||||
content: Optional[str] = None
|
||||
embedding: Optional[List[float]] = None
|
||||
|
||||
class SaveResultsRequest(BaseModel):
|
||||
task_id: int
|
||||
results: List[CrawlResult]
|
||||
|
||||
class SearchRequest(BaseModel):
|
||||
# 如果不传 task_id,则进行全库搜索
|
||||
task_id: Optional[int] = None
|
||||
query_embedding: dict
|
||||
limit: Optional[int] = 5
|
||||
|
||||
# === V2 New Schemas ===
|
||||
class AutoMapRequest(BaseModel):
|
||||
url: str
|
||||
|
||||
class AutoProcessRequest(BaseModel):
|
||||
task_id: int
|
||||
batch_size: Optional[int] = 5
|
||||
|
||||
class TextSearchRequest(BaseModel):
|
||||
query: str # 用户直接传文字,不需要传向量了
|
||||
task_id: Optional[int] = None
|
||||
return_num: Optional[int] = 5
|
||||
@@ -7,27 +7,32 @@ class ResponseBase(BaseModel):
|
||||
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", example="https://docs.firecrawl.dev")
|
||||
url: str = Field(..., description="目标网站根URL")
|
||||
|
||||
# --- [POST] 执行任务 ---
|
||||
class TaskExecuteRequest(BaseModel):
|
||||
batch_size: int = Field(10, ge=1, le=50, description="并发线程数/批次大小")
|
||||
|
||||
# --- [GET] 监控数据 ---
|
||||
class TaskStatusData(BaseModel):
|
||||
root_url: str
|
||||
stats: Dict[str, int] = Field(..., description="数据库统计: pending/processing/completed")
|
||||
active_threads: List[str] = Field(..., description="内存实时: 当前正在爬取的URL列表")
|
||||
active_thread_count: int
|
||||
batch_size: int = Field(10, le=50)
|
||||
|
||||
# --- [POST] 搜索 ---
|
||||
class SearchRequest(BaseModel):
|
||||
query: str
|
||||
task_id: Optional[int] = None
|
||||
return_num: int = Field(5, description="返回结果数量")
|
||||
# 明确支持 None 为全局搜索
|
||||
task_id: Optional[int] = Field(None, description="任务ID,不传则搜全库")
|
||||
limit: int = Field(5, description="返回数量")
|
||||
|
||||
# ... (SearchResultItem 等保持不变) ...
|
||||
class SearchResultItem(BaseModel):
|
||||
task_id: int
|
||||
source_url: str
|
||||
Reference in New Issue
Block a user