Spaces:
Running
Running
File size: 1,087 Bytes
164ae67 800c55a 164ae67 a373efe 30f3f8c a373efe 30f3f8c 164ae67 b0bfe9b 164ae67 |
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 |
from pydantic import BaseModel, Field
from agents import Agent, AsyncOpenAI, OpenAIChatCompletionsModel
import os
gemini_client = AsyncOpenAI(base_url="https://generativelanguage.googleapis.com/v1beta/openai/", api_key=os.getenv('GOOGLE_API_KEY'))
gemini_model = OpenAIChatCompletionsModel(model="gemini-2.5-flash-preview-05-20", openai_client=gemini_client)
HOW_MANY_SEARCHES = 10
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 = Field(description="Your reasoning for why this search is important to the query.")
query: str = Field(description="The search term to use for the web search.")
class WebSearchPlan(BaseModel):
searches: list[WebSearchItem] = Field(description="A list of web searches to perform to best answer the query.")
planner_agent = Agent(
name="PlannerAgent",
instructions=INSTRUCTIONS,
model=gemini_model,
output_type=WebSearchPlan,
) |