vibe.review.prompts¶
Prompt construction for requirement classification.
Builds prompts for two-step classification: 1. Relevance: Is this document part relevant to the requirement? 2. Compliance: Does the relevant part satisfy the requirement?
Prompts are built from Jinja2 templates stored in templates/prompts/. Classification labels are language-neutral (R/N for relevance, Y/N/P for compliance).
PromptContext ¶
Context for building prompts.
BuiltPrompt ¶
A built prompt ready for LLM.
PromptBuilder ¶
Builds prompts for requirement classification using Jinja2 templates.
Templates are stored in vibe/review/templates/prompts/ with language suffixes: - relevance_prompt_sv.jinja2, relevance_prompt_en.jinja2 - compliance_prompt_sv.jinja2, compliance_prompt_en.jinja2
Usage
builder = PromptBuilder(language="sv")
Relevance check¶
relevance_prompt = builder.build_relevance_prompt( context=PromptContext(...), document_text="...", )
Compliance check (with few-shot examples)¶
compliance_prompt = builder.build_compliance_prompt( context=PromptContext(...), document_text="...", examples=[...], )
Get full rendered prompt text (for display)¶
full_text = builder.render_relevance_prompt_text(context, document_text)
__init__ ¶
__init__(language: str = 'sv') -> None
Initialize the prompt builder.
| Parameters: |
|
|---|
build_relevance_prompt ¶
build_relevance_prompt(context: PromptContext, document_text: str, section_heading: str | None = None) -> BuiltPrompt
Build prompt for relevance classification.
| Parameters: |
|
|---|
| Returns: |
|
|---|
build_compliance_prompt ¶
build_compliance_prompt(context: PromptContext, document_text: str, examples: list[RetrievedExample] | None = None, section_heading: str | None = None) -> BuiltPrompt
Build prompt for compliance classification.
| Parameters: |
|
|---|
| Returns: |
|
|---|
build_batch_prompt ¶
build_batch_prompt(context: PromptContext, candidates: list[dict[str, Any]], *, examples: list[RetrievedExample] | None = None, force_relevant: bool = False) -> BuiltPrompt
Build a single prompt that classifies multiple candidates in one request.
The output is a list of per-part results with both relevance and compliance.
strip_scaffold_header ¶
strip_scaffold_header(prompt_text: str) -> str
Remove scaffold header comments from rendered prompt templates.
create_prompt_context_from_requirement ¶
create_prompt_context_from_requirement(requirement: Requirement, reference_parts: list[Any] | None = None) -> PromptContext
Create PromptContext from a Requirement model.
| Parameters: |
|
|---|
| Returns: |
|
|---|