50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
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
|
||
|
||
# schemas.py
|
||
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
|
||
|
||
|
||
|
||
|
||
# ... (保留原有的 Schema: RegisterRequest, AddUrlsRequest 等) ...
|
||
|
||
# === 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
|
||
limit: Optional[int] = 5 |