Spaces:
Sleeping
Sleeping
File size: 1,478 Bytes
c049b12 fb1de84 ac640bc c049b12 fb1de84 ac640bc c049b12 ac640bc c049b12 ac640bc c049b12 ac640bc c049b12 ac640bc c049b12 ac640bc fb1de84 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from agents import Runner, gen_trace_id, trace
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…")
combined_query = (
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
|