fix: validate retrieval-only chat questions before dispatch
This commit is contained in:
@@ -26,9 +26,6 @@ def chat(payload: ChatRequest, db: Session = Depends(get_db)) -> ChatResponse:
|
||||
"因此系统仅返回可追溯证据,不生成或改写答案。"
|
||||
),
|
||||
status="retrieval_only",
|
||||
sources=[
|
||||
{"title": hit.title, "source_url": hit.source_url}
|
||||
for hit in result.results
|
||||
],
|
||||
sources=[{"title": hit.title, "source_url": hit.source_url} for hit in result.results],
|
||||
retrieval_run_id=result.run_id,
|
||||
)
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
from typing import Literal
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel
|
||||
|
||||
from app.schemas.catalog import Input
|
||||
from app.schemas.retrieval import QueryText
|
||||
|
||||
|
||||
class ChatRequest(BaseModel):
|
||||
question: str = Field(min_length=1, max_length=2000)
|
||||
class ChatRequest(Input):
|
||||
question: QueryText
|
||||
|
||||
|
||||
class SourcePreview(BaseModel):
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
from typing import Annotated, Literal
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from app.schemas.catalog import Category, Input
|
||||
|
||||
QueryText = Annotated[str, Field(min_length=1, max_length=500)]
|
||||
|
||||
|
||||
class RetrievalRequest(Input):
|
||||
query: str = Field(min_length=1, max_length=500)
|
||||
query: QueryText
|
||||
mode: Literal["keyword"] = "keyword"
|
||||
top_k: int = Field(default=5, ge=1, le=20)
|
||||
category: Category | None = None
|
||||
|
||||
Reference in New Issue
Block a user