File size: 701 Bytes
10aced5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | from pydantic import BaseModel, Field
class QueryRequest(BaseModel):
query: str
client: str
class MetricResult(BaseModel):
passed: bool
score: float = Field(ge=0.0, le=1.0)
detail: str
class EvaluationResult(BaseModel):
overall_pass: bool
metrics: dict[str, MetricResult]
class Source(BaseModel):
id: str
title: str
score: float = Field(ge=0.0, le=1.0)
class QueryResponse(BaseModel):
query: str
client: str
client_display: str
answer: str
sources: list[Source]
evaluation: EvaluationResult
class ClientInfo(BaseModel):
id: str
display: str
class ConfigResponse(BaseModel):
domains: dict[str, list[ClientInfo]]
|