Documentation Index
Fetch the complete documentation index at: https://docs.quraite.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Quraite provides a built-in adapter for Google ADK agents. This adapter allows you to integrate Google ADK agents with Quraite and run evaluations on them.
This adapter uses OpenInference instrumentation to capture the trajectory of the agent.
Prerequisites
- Agent dependencies:
google-adk package, Gemini API key, and any tools you want to use.
- Quraite dependencies:
quraite[google-adk-oi] package.
Define Your Google ADK Agent
You create a normal Google ADK Agent first, exactly as you would in any Google ADK project.
import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent
def get_weather(city: str) -> dict:
"""Return a simple weather report for a city."""
if city.lower() == "new york":
return {
"status": "success",
"report": (
"The weather in New York is sunny with a temperature of 25°C "
"(77°F)."
),
}
elif city.lower() == "london":
return {
"status": "success",
"report": (
"The weather in London is cloudy with a temperature of 18°C "
"(64°F)."
),
}
else:
return {
"status": "error",
"error_message": f"Weather information for '{city}' is not available.",
}
def get_current_time(city: str) -> dict:
"""Return the current time in a city."""
if city.lower() == "new york":
tz_identifier = "America/New_York"
elif city.lower() == "london":
tz_identifier = "Europe/London"
else:
return {
"status": "error",
"error_message": f"Sorry, I don't have timezone information for {city}.",
}
tz = ZoneInfo(tz_identifier)
now = datetime.datetime.now(tz)
report = f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
return {"status": "success", "report": report}
weather_time_agent = Agent(
name="weather_time_agent",
model="gemini-2.5-flash",
description="Agent to answer questions about the time and weather in a city.",
instruction=(
"You are a helpful agent who can answer user questions about the time "
"and weather in a city. Always use the provided tools to get "
"accurate information."
),
tools=[get_weather, get_current_time],
)
If you want to use MCP tools, you can replace the tools list with a McpToolset and other tools. See the end-to-end examples section for a complete implementation.
Set up Tracing
Quraite provides a tracing setup helper. For Google ADK, pass the Framework.GOOGLE_ADK enum:
from quraite.tracing import Framework, setup_tracing
tracer_provider = setup_tracing([Framework.GOOGLE_ADK])
Wrap the Google ADK Agent
Wrap the agent with the GoogleADKAdapter and pass the tracer_provider to it.
from quraite.adapters import GoogleADKAdapter
adapter = GoogleADKAdapter(
agent=weather_time_agent,
app_name="agents",
agent_name="Weather Time Agent",
tracer_provider=tracer_provider,
)
Run the Agent
Once wrapped, you expose the adapter using Quraite’s run_agent helper.
if __name__ == "__main__":
from dotenv import load_dotenv
from quraite import run_agent
load_dotenv(override=True)
run_agent(
adapter,
port=8080,
host="0.0.0.0",
tunnel="cloudflare",
)
End-to-End Examples