PalveronPalveronDocs

Google ADK

KI-Governance für das Google Agent Development Kit — automatische Policy-Checks für jeden Tool-Aufruf, jede Modell-Anfrage und jede A2A-Nachricht, mit multimodaler Extraktion und MCP-Kontext-Weiterleitung.

Google ADK Integration

Verdrahten Sie drei Callbacks in jeden LlmAgent. Jeder Prompt, den Gemini sieht, jedes Tool, das der Agent ausführt, und jedes zurückfließende Ergebnis wird durch Ihre Palveron-Policies governiert. Multimodal (Text, Bild, Audio, Video). A2A-Protokoll-kompatibel. MCP-Kontext durchgängig erhalten.

Installation

pip install palveron-google-adk

Schnellstart

from google.adk.agents import LlmAgent
from palveron_google_adk import PalveronAdkGovernance

gov = PalveronAdkGovernance(api_key="pv_live_xxx")

agent = LlmAgent(
    name="customer_support",
    model="gemini-2.0-flash",
    instruction="Hilf den Nutzern mit ihren Bestellungen.",
    tools=[lookup_order, refund_order],
    before_model_callback=gov.before_model_callback,
    before_tool_callback=gov.before_tool_callback,
    after_tool_callback=gov.after_tool_callback,
)

# Jeder Modell-Prompt, Tool-Input und Tool-Output wird jetzt governiert.
result = agent.run("Erstatte Bestellung #12345 über 50.000 €")
# → PalveronGovernanceError: Blockiert — Erstattung überschreitet Budget-Policy

Was geprüft wird

CallbackWannWas
before_model_callbackVor jedem Gemini-AufrufAlle Content-Teile (Text + multimodale Anhänge)
before_tool_callbackVor jedem Tool-AufrufTool-Name + Argumente
after_tool_callbackNach jedem Tool-RücklaufTool-Ergebnis, bevor es wieder in den Modell-Kontext fließt

Der after_tool_callback ist der kritische Punkt — er verhindert, dass PII oder Geheimnisse, die ein Tool zurückgibt, still in das LLM-Kontextfenster zurückgespeist werden.

Konfiguration

gov = PalveronAdkGovernance(
    api_key="pv_live_xxx",
    base_url="https://gateway.internal.firma.de:8080",  # on-prem
    check_model_input=True,    # Prompts vor Generierung prüfen (Standard)
    check_tool_input=True,     # Tool-Argumente prüfen (Standard)
    check_tool_output=True,    # Tool-Ergebnisse prüfen (Standard)
    fail_open=False,           # Bei Gateway-Ausfall blockieren (Enterprise-Standard)
    metadata={"team": "support"},
)

Multimodal

ADK unterstützt Text, Bild, Audio und Video als Teile eines Content-Objekts. Der Adapter extrahiert jeden Teil und leitet Inline-Daten als Palveron-Attachment weiter. Das Gateway führt modalitätsspezifische Prüfungen durch (OCR für Bilder, ASR für Audio, Frame-Sampling für Video).

gov = PalveronAdkGovernance(api_key="pv_live_xxx")
agent = LlmAgent(
    name="ocr_assistant",
    model="gemini-2.0-flash",
    before_model_callback=gov.before_model_callback,
)
# Sensible Inhalte in einem Screenshot werden erkannt, bevor Gemini sie sieht.

A2A-Protokoll-Brücke

Umhüllen Sie einen eingehenden A2A-Handler, sodass Peer-Agent-Nachrichten geprüft werden, bevor sie Ihre Logik erreichen:

from palveron_google_adk import wrap_a2a_handler

gov = PalveronAdkGovernance(api_key="pv_live_xxx")

async def handle_message(message, peer_agent_id):
    ...

governed = wrap_a2a_handler(handle_message, gov=gov)

Ein Peer-Agent, der eine Prompt-Injection-Payload sendet, wird blockiert, bevor Ihr Handler sie sieht.

Palveron als ADK-Tool

Registrieren Sie das Gateway als FunctionTool, sodass das Modell Inhalte explizit während der Reasoning-Phase verifizieren kann:

agent = LlmAgent(
    name="drafter",
    model="gemini-2.0-flash",
    instruction="Bevor du eine Antwort sendest, rufe palveron_verify auf dem Entwurf auf.",
    tools=[gov.as_tool(), send_email],
)

MCP-Kontext-Weiterleitung

Wenn ein Tool-Aufruf von einem MCP-Server stammt, liest der Adapter MCP-Server-Name, Session-ID und Chain-Depth aus dem ADK-tool_context und leitet sie über RequestContext an die Palveron-Trace weiter. Der Trace Explorer zeigt die vollständige Agenten-Provenienz — ohne zusätzliche Konfiguration auf Ihrer Seite.

Governance-Records

print(f"Blockiert: {gov.blocked_count}")
print(f"Trace IDs: {gov.trace_ids}")

for record in gov.records:
    print(f"{record.event} [{record.surface}]: {record.decision} ({record.latency_ms:.0f}ms)")

Fehlerbehandlung

from palveron_google_adk import PalveronAdkGovernance, PalveronGovernanceError

try:
    result = agent.run("Erstatte Bestellung #12345 über 50.000 €")
except PalveronGovernanceError as e:
    print(e.decision)   # "BLOCKED"
    print(e.trace_id)   # "trc_abc123"
    print(e.reason)     # "Erstattung überschreitet Pro-Aufruf-Budget-Policy"

Quellcode

Open Source (MIT): github.com/palveron/adapter-google-adk.

Für Flare-Agenten

Läuft Ihr ADK-Agent auf flare-ai-kit, können Sie den automatischen Callback-Adapter oben mit palveron-adk-tool kombinieren — einem expliziten FunctionTool, das der Agent gezielt aufruft (bevor ein SparkDEX-Swap signiert, bevor auf X gepostet, bevor eine A2A-Nachricht weitergeleitet wird). Siehe palveron-adk-tool für Flare-Agenten für Architektur, Flare-spezifische Anwendungsfälle (DeFi, Social, RAG, FDC) und den Attestation-Ablauf auf Coston2 / Flare Mainnet.

Nächste Schritte

On this page