vibe.review.classifier¶
Requirement classification using LLM evaluation.
Implements two-step classification: 1. Relevance check: Is the document part relevant to the requirement? 2. Compliance check: Does the relevant part satisfy the requirement?
The classifier uses few-shot examples from similar previously-reviewed documents to improve consistency and accuracy.
PartClassification ¶
Classification result for a single document part.
RequirementClassificationResult ¶
Complete classification result for a requirement.
RequirementClassifier ¶
Classifies document parts against requirements.
Uses a two-step process: 1. Relevance: Filter parts that are relevant to the requirement 2. Compliance: Classify relevant parts as Y/N/P
Usage
classifier = RequirementClassifier(session, llm_client) result = classifier.classify( requirement=req, parts=search_results, examples=few_shot_examples, )
__init__ ¶
__init__(session: Session, llm_client: BaseLLMClient | None = None, example_retriever: ExampleRetriever | None = None, skip_relevance_check: bool = False, orchestration: Literal['batched', 'per_part'] = 'batched') -> None
Initialize the classifier.
| Parameters: |
|
|---|
classify ¶
classify(requirement: Requirement, parts: list[Any], context: PromptContext | None = None, max_parts_to_classify: int = 5) -> RequirementClassificationResult
Classify document parts against a requirement.
| Parameters: |
|
|---|
| Returns: |
|
|---|
classify_requirement ¶
classify_requirement(requirement: Requirement, parts: list[Any], session: Session | None = None) -> RequirementClassificationResult
Perform a one-off classification.
Create classifier, classify, and clean up. For multiple classifications, use RequirementClassifier directly.