GitHub Actions
feat: Phase 2 (M14-M25, X05-X07) + Phase 3 experimental (M26-M31) + E2E tests + docs
4cd8837
Raw
History Blame Contribute Delete
678 Bytes
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Protocol, runtime_checkable
@dataclass
class RerankDoc:
id: str
text: str
@dataclass
class RerankedDoc:
id: str
score: float
@dataclass
class RerankRequest:
query: str
docs: list[RerankDoc]
top_k: int | None = None
params: dict = field(default_factory=dict)
@dataclass
class RerankResponse:
ranked: list[RerankedDoc]
meta: dict = field(default_factory=dict)
@runtime_checkable
class RerankBackend(Protocol):
name: str
async def rerank(self, request: RerankRequest) -> RerankResponse: ...
def health(self) -> dict: ...