mirror of
https://github.com/google/adk-docs.git
synced 2026-09-14 16:16:59 +08:00
2ccd53a3d9
* fix: update gemini 2.0 flash to latest model id for Live API * fix: use -flash for most pages instead of the live api model * fix: wording andformatting * fix: resolve merge conflict
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
import os
|
|
from google.adk import Agent, Runner
|
|
from google.adk.sessions import InMemorySessionService
|
|
from google.adk.tools.crewai_tool import CrewaiTool
|
|
from google.genai import types
|
|
from crewai_tools import SerperDevTool
|
|
|
|
|
|
# Constants
|
|
APP_NAME = "news_app"
|
|
USER_ID = "user1234"
|
|
SESSION_ID = "1234"
|
|
|
|
# Ensure SERPER_API_KEY is set in your environment
|
|
if not os.getenv("SERPER_API_KEY"):
|
|
print("Warning: SERPER_API_KEY environment variable not set.")
|
|
|
|
serper_tool_instance = SerperDevTool(
|
|
n_results=10,
|
|
save_file=False,
|
|
search_type="news",
|
|
)
|
|
|
|
adk_serper_tool = CrewaiTool(
|
|
name="InternetNewsSearch",
|
|
description="Searches the internet specifically for recent news articles using Serper.",
|
|
tool=serper_tool_instance
|
|
)
|
|
|
|
serper_agent = Agent(
|
|
name="basic_search_agent",
|
|
model="gemini-2.0-flash",
|
|
description="Agent to answer questions using Google Search.",
|
|
instruction="I can answer your questions by searching the internet. Just ask me anything!",
|
|
# Add the Serper tool
|
|
tools=[adk_serper_tool]
|
|
)
|
|
|
|
# Session and Runner
|
|
session_service = InMemorySessionService()
|
|
session = session_service.create_session(app_name=APP_NAME, user_id=USER_ID, session_id=SESSION_ID)
|
|
runner = Runner(agent=serper_agent, app_name=APP_NAME, session_service=session_service)
|
|
|
|
|
|
# Agent Interaction
|
|
def call_agent(query):
|
|
content = types.Content(role='user', parts=[types.Part(text=query)])
|
|
events = runner.run(user_id=USER_ID, session_id=SESSION_ID, new_message=content)
|
|
|
|
for event in events:
|
|
if event.is_final_response():
|
|
final_response = event.content.parts[0].text
|
|
print("Agent Response: ", final_response)
|
|
|
|
call_agent("what's the latest news on AI Agents?")
|