|
from pydantic import BaseModel |
|
from agents import Agent |
|
|
|
HOW_MANY_SEARCHES = 20 |
|
|
|
INSTRUCTIONS = f"You are a helpful research assistant. Given a query, come up with a set of web searches \ |
|
to perform to best answer the query. Output {HOW_MANY_SEARCHES} terms to query for." |
|
|
|
|
|
class WebSearchItem(BaseModel): |
|
reason: str |
|
"Your reasoning for why this search is important to the query." |
|
|
|
query: str |
|
"The search term to use for the web search." |
|
|
|
|
|
class WebSearchPlan(BaseModel): |
|
searches: list[WebSearchItem] |
|
"""A list of web searches to perform to best answer the query.""" |
|
|
|
|
|
planner_agent = Agent( |
|
name="PlannerAgent", |
|
instructions=INSTRUCTIONS, |
|
model="gpt-4o-mini", |
|
output_type=WebSearchPlan, |
|
) |