vibe.review.retrieval.example_retriever

Few-shot example retrieval for requirement classification.

Retrieves relevant examples from the examples database to guide LLM classification with known-good cases.

Phase 2.3: Example Retrieval - Find parts reviewed for same requirement - Sort by similarity to target part - Ensure diversity: mix of positive and negative examples

RetrievedExample

A retrieved example with relevance scoring.

ExampleSet

Set of examples for few-shot prompting.

ExampleRetriever

Retrieves relevant few-shot examples for requirement classification.

Uses a two-stage retrieval process: 1. Database query to find examples for the same requirement 2. Reranking by relevance to the current document excerpt

Selection strategy (per Phase 2.3): - Find parts reviewed for same requirement - Sort by similarity to target part - Ensure diversity: mix of positive and negative examples

Usage

retriever = ExampleRetriever(session) examples = retriever.get_examples( requirement_id="DORA-28.1", document_excerpt="Our ICT risk framework...", top_k=3, )

__init__

__init__(session: Session, rerank_provider: RerankProvider | None = None) -> None

Initialize the retriever.

Parameters:
  • session (Session) –

    SQLAlchemy session for database queries.

  • rerank_provider (RerankProvider | None, default: None ) –

    Rerank provider. If None, auto-selects.

get_examples

get_examples(requirement_id: str, document_excerpt: str, top_k: int = 3, include_similar_requirements: bool = True, min_quality_score: float = 0.5) -> ExampleSet

Retrieve relevant examples for few-shot classification.

Parameters:
  • requirement_id (str) –

    The requirement being classified.

  • document_excerpt (str) –

    The document text being evaluated.

  • top_k (int, default: 3 ) –

    Number of examples to return.

  • include_similar_requirements (bool, default: True ) –

    If True, include examples from similar requirements (same base ID).

  • min_quality_score (float, default: 0.5 ) –

    Minimum quality score for examples.

Returns:

get_diverse_examples

get_diverse_examples(requirement_id: str, document_excerpt: str, per_classification: int = 1, min_quality_score: float = 0.5) -> ExampleSet

Retrieve diverse examples covering different classification outcomes.

Ensures the few-shot prompt includes examples of each classification type (yes, no, partial, not_applicable) when available.

Parameters:
  • requirement_id (str) –

    The requirement being classified.

  • document_excerpt (str) –

    The document text being evaluated.

  • per_classification (int, default: 1 ) –

    Number of examples per classification type.

  • min_quality_score (float, default: 0.5 ) –

    Minimum quality score for examples.

Returns:
  • ExampleSet

    ExampleSet with diverse examples.

close

close() -> None

Close owned resources.