rag.py
"""Small orchestration layer for retrieval plus generation."""
from __future__ import annotations
from src.generation import generate_answer
from src.retrieval import retrieve_for_generation
def answer_question(question: str, top_k: int | None = None) -> dict:
retrieved_chunks = retrieve_for_generation(question, top_k=top_k)
answer = generate_answer(question, retrieved_chunks)
return {
"question": question,
"answer": answer,
"retrieved_chunks": retrieved_chunks,
}