Files
agent/src/va_agent/agent.py

38 lines
1.1 KiB
Python

"""ADK agent with vector search RAG tool."""
from google import genai
from google.adk.agents.llm_agent import Agent
from google.adk.runners import Runner
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
from google.cloud.firestore_v1.async_client import AsyncClient
from va_agent.auth import auth_headers_provider
from va_agent.config import settings
from va_agent.session import FirestoreSessionService
toolset = McpToolset(
connection_params=StreamableHTTPConnectionParams(url=settings.mcp_remote_url),
header_provider=auth_headers_provider,
)
agent = Agent(
model=settings.agent_model,
name=settings.agent_name,
instruction=settings.agent_instructions,
tools=[toolset],
)
session_service = FirestoreSessionService(
db=AsyncClient(database=settings.firestore_db),
compaction_token_threshold=10_000,
genai_client=genai.Client(),
)
runner = Runner(
app_name="va_agent",
agent=agent,
session_service=session_service,
auto_create_session=True,
)