| 123456789101112131415161718192021222324252627282930313233 |
- from __future__ import annotations
- from dataclasses import dataclass, replace
- @dataclass(frozen=True)
- class KnowledgeEvidence:
- chunk_id: str
- content: str
- score: float
- retriever: str
- object_uid: str
- object_type: str
- object_version: int
- business_domain_uid: str | None
- point_keys: tuple[str, ...]
- point_revisions: tuple[int, ...]
- generation: int
- source_updated_at: str | None
- freshness_status: str = "fresh"
- section_path: str | None = None
- def with_score_and_retriever(
- self, score: float, retriever: str
- ) -> KnowledgeEvidence:
- return replace(self, score=score, retriever=retriever)
- @dataclass(frozen=True)
- class SearchResult:
- evidence: tuple[KnowledgeEvidence, ...]
- mode: str
- degraded_components: tuple[str, ...] = ()
|