28 lines
957 B
Python
28 lines
957 B
Python
from pydantic import BaseModel, Field
|
|
|
|
|
|
class Docs(BaseModel):
|
|
research: list
|
|
analytical_hub: list
|
|
|
|
|
|
class RagResponse(BaseModel):
|
|
"""Ответ от RAG на вопрос пользователя."""
|
|
body_research: str = Field(description="Текст ответа от Research на вопрос")
|
|
body_analytical_hub: str = Field(description="Текст ответа от Analytical Hub на вопрос")
|
|
docs_from_vectorstore: Docs | None = None
|
|
docs_to_llm: Docs | None = None
|
|
|
|
|
|
class RagResponseBench(RagResponse):
|
|
"""Ответ на вопрос + время обработки именно этого вопроса."""
|
|
processing_time_sec: float = Field(
|
|
description="Время обработки запроса в секундах",
|
|
ge=0,
|
|
)
|
|
question: str = Field(description="Исходный вопрос")
|
|
|
|
|
|
class RagResponseBenchList(BaseModel):
|
|
answers: list[RagResponseBench]
|