Kurapika993's picture
Initial PaperMind deployment
e23520e verified
Raw
History Blame Contribute Delete
860 Bytes
from __future__ import annotations
from src.reasoning.llm_client import OpenAIReasoner
from src.retrieval.retriever import evidence_packet
from src.schemas.domain import RetrievedEvidence
from src.schemas.outputs import AnswerResult
from src.schemas.prompts import QA_PROMPT
def answer_question(
reasoner: OpenAIReasoner,
question: str,
evidence: list[RetrievedEvidence],
) -> AnswerResult:
prompt = f"""
User question:
{question}
Retrieved evidence:
{evidence_packet(evidence)}
Write a clear citation-grounded answer. Keep inline evidence identifiers in the answer_markdown.
List the main auditable factual claims in key_claims with their supporting evidence IDs.
""".strip()
return reasoner.parse(
system_prompt=QA_PROMPT,
user_prompt=prompt,
output_schema=AnswerResult,
max_output_tokens=6000,
)