brief-rags-bench/format.py

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]