deep-research / src /research_manager.py
Vasilii Tokarev
Include current date in research queries
5823f63
raw
history blame
1.62 kB
from agents import Runner, gen_trace_id, trace
from datetime import datetime
from clarifier import ClarifyingQuestions, clarifier_agent
from report_generator import ReportData
from research_agent import research_agent
class ResearchManager:
async def run(self, query: str, clarifications: str | None = None):
"""Run the deep-research pipeline using `research_agent`."""
trace_id = gen_trace_id()
with trace("Research trace", trace_id=trace_id):
print("Starting research with ResearchAgent…")
today = datetime.utcnow().date().isoformat()
prefix = f"Current date: {today}\n"
combined_query = prefix + (
f"Original query: {query}\n\nUser clarifications:\n{clarifications}"
if clarifications
else query
)
yield "Research in progress…"
result = await Runner.run(research_agent, combined_query)
report: ReportData = result.final_output_as(ReportData)
yield "Report generated. Rendering markdown…"
yield report.markdown_report
async def get_clarifying_questions(self, query: str) -> list[str]:
"""Generate clarifying questions for a given query."""
print("Generating clarifying questions...")
result = await Runner.run(clarifier_agent, f"Query: {query}")
questions_model: ClarifyingQuestions = result.final_output_as(
ClarifyingQuestions
)
print(f"Generated {len(questions_model.questions)} clarifying questions")
return questions_model.questions