from agents import Agent, WebSearchTool, ModelSettings from agents import OpenAIChatCompletionsModel from openai import AsyncOpenAI import os from dotenv import load_dotenv load_dotenv(override=True) model = "gemini-2.0-flash" GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/" GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") client = AsyncOpenAI(base_url=GEMINI_BASE_URL,api_key=GEMINI_API_KEY) custom_model = OpenAIChatCompletionsModel(model=model,openai_client=client) INSTRUCTIONS = ( "You are a research assistant. Given a search term, you search the web for that term and " "produce a concise summary of the results. The summary must 2-3 paragraphs and less than 300 " "words. Capture the main points. Write succintly, no need to have complete sentences or good " "grammar. This will be consumed by someone synthesizing a report, so its vital you capture the " "essence and ignore any fluff. Do not include any additional commentary other than the summary itself." ) search_agent = Agent( name="Search agent", instructions=INSTRUCTIONS, tools=[WebSearchTool(search_context_size="low")], model=custom_model, model_settings=ModelSettings(tool_choice="required"), )