faris-abuali's picture
Upload 227 files
399944f verified
Raw
History Blame Contribute Delete
843 Bytes
from __future__ import annotations
from dataclasses import dataclass
from typing import Sequence, Tuple
from .logger import save_human_oversight_log
from .reviewer import review_triplets
from kbdebugger.types import ExtractionResult, GraphRelation
@dataclass(frozen=True, slots=True)
class HumanOversightResult:
accepted: list[GraphRelation]
rejected: list[GraphRelation]
log_path: str
def run_human_oversight(
triplets: Sequence[ExtractionResult]
) -> HumanOversightResult:
"""
Public API: review relations, upsert accepted ones, log accepted/rejected.
"""
accepted, rejected = review_triplets(triplets)
log_path = save_human_oversight_log(accepted=accepted, rejected=rejected)
return HumanOversightResult(
accepted=accepted,
rejected=rejected,
log_path=log_path,
)