ADK-Crashkurs – Vom Anfänger zum Experten

1. Lerninhalte

Willkommen zur ADK Master Class – Ihr Einstieg in Multi-Agent-Systeme

Sie sind dabei, in die spannende Welt der KI-Agenten einzutauchen. Vergessen Sie einfache Chatbots, die nur Fragen beantworten. Wir nutzen die Agent Development Kit (ADK), um hochentwickelte, autonome Systeme zu entwickeln, die komplexe Aufgaben bewältigen können.

Kurs-Roadmap

Am Ende dieser Anleitung können Sie:

  • Ersten KI-Agenten erstellen: Erstellen Sie einen voll funktionsfähigen Agenten, der die Bedürfnisse eines Nutzers verstehen, Tools wie die Google Suche verwenden und detaillierte, hilfreiche Antworten generieren kann.
  • Benutzerdefinierte Tools optimal nutzen: Sie können das volle Potenzial von Agenten nutzen, indem Sie sie mit Ihren eigenen benutzerdefinierten Funktionen und APIs verbinden. Sie bringen Ihrem Agent bei, Echtzeitdaten wie aktuelle Wettervorhersagen abzurufen.
  • Multi-Agenten-Systeme erstellen: Lernen Sie das Muster Agent als Tool kennen, ein revolutionäres Konzept, bei dem Agenten Aufgaben an andere spezialisierte Agenten delegieren und so ein Team von KI-Experten bilden, die zusammenarbeiten.
  • Komplexe Workflows orchestrieren: Gehen Sie über die einfache Delegation hinaus und beherrschen Sie erweiterte Muster wie Router, sequenzielle Ketten, Schleifen und parallele Ausführung, um robuste, effiziente und intelligente Anwendungen zu erstellen, die fast alle Anfragen verarbeiten können.
  • KI-Agenten mit Gedächtnis ausstatten: Hier erfahren Sie, wie wichtig das Gesprächsgedächtnis ist, damit Ihre KI-Agenten Folgefragen beantworten, aus Feedback lernen und mehrstufige Aufgaben nahtlos erledigen können.

Los geht's! 🚀

2. GCP einrichten

GCP-Projekt einrichten

Für unsere KI-Agents benötigen wir zwei Dinge: ein Google Cloud-Projekt als Grundlage und eine Projekt-ID für den Zugriff auf die leistungsstarken Modelle von Google.

Schritt 1: Rechnungskonto aktivieren

  • Sie müssen Ihr Rechnungskonto mit einem Guthaben von 5 $ in Anspruch nehmen, da Sie es für die Bereitstellung benötigen. Melden Sie sich mit Ihrem Gmail-Konto an.

Schritt 2: Neues GCP-Projekt erstellen

  • Rufen Sie die Google Cloud Console auf und erstellen Sie ein neues Projekt.

ein neues GCP-Konto erstellen

  • Rufen Sie die Google Cloud Console auf und erstellen Sie ein neues Projekt.
  • Öffnen Sie den linken Bereich, klicken Sie auf Billing und prüfen Sie, ob das Rechnungskonto mit diesem GCP-Konto verknüpft ist.

Rechnungskonto mit GCP-Konto verknüpfen

Wenn Sie diese Seite sehen, prüfen Sie das manage billing account, wählen Sie das Google Cloud-Probeabo aus und verknüpfen Sie es.

Schritt 3: Projekt-ID kopieren

  • Rufen Sie console.cloud.google.com auf.
  • Klicken Sie oben auf der Seite auf das Drop-down-Menü zur Projektauswahl.
  • Klicken Sie auf den Tab Alle, da das neue Projekt möglicherweise noch nicht unter „Letzte“ angezeigt wird.
  • Wählen Sie die Projekt-ID aus, die Sie gerade erstellt haben.

03-05-project-all.png

3. Sitzung 1: Erster Agent mit Runner

roadmap1

Beginnen wir mit den Grundlagen. Hier erstellen wir unseren ersten einfachen Agenten, den day_trip_agent. Dieser Agent soll einen Tagesausflug basierend auf der Anfrage eines Nutzers erstellen, wobei auch das Budget berücksichtigt wird. In diesem Beispiel werden die drei Kernkomponenten jeder Agent-Interaktion im ADK vorgestellt:

  • Agent: Das Kerngehirn des Vorgangs. Er wird durch seine Anweisungen (seine Persönlichkeit und Mission), das verwendete KI-Modell (z. B. Gemini) und die Tools definiert, auf die er zugreifen kann.
  • Sitzung: Der Speicher der Unterhaltung. Darin wird der Verlauf der Interaktionen (Nutzernachrichten und Agent-Antworten) gespeichert, um einen fortlaufenden Dialog zu ermöglichen.
  • Runner: Die Engine, die die Aufgabe ausführt. Sie nimmt den Agenten und die Sitzung entgegen, verarbeitet die neue Nutzeranfrage und orchestriert die Schritte zum Generieren einer Antwort.

➡️ Wo finde ich das im Notebook?

👉 Das entspricht den Zellen unter Teil 1: Ihr erster Agent – Der Tagesausflugs-Genie 🧞.🌟

Der Agent-Roboter liest

  • Agent-Definition: Suchen Sie nach der Funktion create_day_trip_agent(). Hier wird der KI-Agent definiert. Beachten Sie den detaillierten Anweisungsstring. Das ist der Prompt, der dem Agenten mitteilt, wie er sich verhalten soll. Außerdem erhält Bard sein erstes Tool: die Google Suche.
  • Hilfsfunktion: Hier wird die Hilfsfunktion run_agent_query() definiert. Wir verwenden dieses Tool im gesamten Notebook, um das Ausführen von Abfragen zu vereinfachen.
  • Testlauf: Die Funktion run_day_trip_genie() simuliert einen Nutzer, der nach einem „günstigen“ und „entspannten“ Tagesausflug fragt. Der KI-Agent verwendet seine Anweisungen und das Google Suche-Tool, um geeignete Orte zu finden und eine Reiseroute im Markdown-Format zu erstellen.

➡️ Aktion: Untersuchen Sie den Anleitungsprompt für day_trip_agent. Die Anfrage nach einer „günstigen“ Reise in der Testanfrage steht in direktem Zusammenhang mit der Richtlinie des Kundenservicemitarbeiters, „auf das Budget zu achten“.

4. Sitzung 2: Benutzerdefinierte Tools 🛠️

roadmap2

Die Google Suche ist zwar ein leistungsstarkes Tool, aber das wahre Potenzial von KI-Agents wird erst ausgeschöpft, wenn Sie sie mit Ihren eigenen Datenquellen, APIs oder benutzerdefinierter Logik verbinden. In diesem Abschnitt erstellen wir ein benutzerdefiniertes Tool aus einer einfachen Python-Funktion.

Der wichtigste Teil eines Funktionstools ist sein Docstring. Das ADK parst den Docstring automatisch, um zu verstehen, was das Tool macht, welche Parameter es akzeptiert (Args) und was es zurückgibt (Returns). Das Large Language Model (LLM) liest diese Beschreibung, um zu entscheiden, wann und wie das Tool verwendet werden soll.

➡️ Wo finde ich das im Notebook?

👉 Dies entspricht den Zellen unter 2.1 Das einfache FunctionTool: Eine Echtzeit-Wetter-API aufrufen. 🌟

adk tools

  • Tool-Definition: Die Funktion get_live_weather_forecast(location: str) ist das Herzstück unseres benutzerdefinierten Tools. Es nimmt einen Städtenamen entgegen, ruft die öffentliche National Weather Service API auf und gibt ein Dictionary mit der Temperatur und der Vorhersage zurück.
  • Agent-Definition: Der weather_agent wird erstellt und mit unserem neuen Tool ausgestattet, indem tools=[get_live_weather_forecast] bei der Initialisierung übergeben wird. In den Anweisungen für den KI-Agenten wird explizit festgelegt, dass dieses Tool verwendet werden soll, bevor Outdoor-Aktivitäten vorgeschlagen werden.
  • Testlauf: Die Anfrage „Ich möchte in der Nähe des Bodensees wandern gehen. Wie ist das Wetter?“ löst direkt die Verwendung des get_live_weather_forecast-Tools durch den Agenten aus, da dies in den Anweisungen festgelegt ist.

➡️ Aktion: Lesen Sie den Docstring für die Funktion get_live_weather_forecast und die Anleitung für weather_agent. Beachten Sie den direkten Zusammenhang zwischen den beiden.

5. Sitzung 3: Agent als Tool 🧑‍🍳

roadmap3

Warum einen einzelnen, monolithischen Agenten erstellen, wenn Sie ein Team von Spezialisten erstellen können? Das Agent-as-a-Tool-Muster ist eine leistungsstarke Methode zum Erstellen komplexer Systeme, in denen ein primärer Agent, der oft als Orchestrator oder Router bezeichnet wird, Aufgaben an andere, fokussiertere Agents delegiert.

Mit diesem Muster können Sie modulare, wiederverwendbare Agents erstellen. Sie können beispielsweise einen KI-Agenten haben, der sich mit Datenbankabfragen auskennt, einen anderen, der sich mit kreativem Schreiben auskennt, und einen dritten, der als freundlicher Concierge fungiert. Die Aufgabe des Orchestrators besteht darin, die Anfrage des Nutzers zu verstehen und an den richtigen Spezialisten weiterzuleiten.

➡️ Wo finde ich das im Notebook?

👉 Dies entspricht den Zellen unter 2.2 Der KI-Agent als Tool: Einen Spezialisten konsultieren 🧑‍🍳.🌟

Fahrtdaten

In diesem Beispiel wird ein komplexes, mehrschichtiges Agentensystem erstellt:

  • Die Spezialisten
      :
    • food_critic_agent: Ein hochspezialisierter Agent, der nur Restaurantvorschläge macht.
    • db_agent: Ein Mock-Agent, der vorgibt, eine Datenbank nach Hotelinformationen abzufragen.
    • concierge_agent: Ein Kundenservicemitarbeiter auf mittlerer Ebene, der als höflicher Concierge fungiert. Wichtig ist, dass food_critic_agent als eigenes Tool verfügbar ist.
  • Orchestrator (trip_data_concierge_agent): Dies ist der Agent der obersten Ebene, mit dem der Nutzer interagiert. Die Anleitung macht ihn zu einem „Master-Reiseplaner“. Er hat zwei Tools, mit denen die anderen KI-Agents aufgerufen werden:
    • call_db_agent: Eine Funktion, die db_agent aufruft.
    • call_concierge_agent: Eine Funktion, die concierge_agent aufruft.
  • Der Ablauf: Der Testlauf in run_trip_data_concierge() demonstriert die vollständige Delegierungskette.
    • Ein Nutzer fragt den Orchestrator nach einem Hotel und einem nahe gelegenen Restaurant.
    • Der Orchestrator wird angewiesen, zuerst das Tool call_db_agent zu verwenden, um Hoteldaten abzurufen.
    • Der Orchestrator verwendet dann das call_concierge_agent-Tool, um eine Empfehlung zu erhalten.
    • Die concierge_agent verwendet nach Erhalt der Anfrage ihr eigenes Tool, die food_critic_agent, um eine Restaurantidee zu erhalten.

Die Antwort des Restaurantkritikers wird an den Concierge zurückgegeben, der sie höflich formatiert und an den Orchestrator zurücksendet, der sie schließlich dem Nutzer präsentiert.

➡️ Aktion: Verfolgen Sie den Ausführungsablauf im Testlauf unter run_trip_data_concierge(). Beachten Sie, wie die TOOL CALLED-Ausgaben die Delegationskette vom Orchestrator bis zu den Spezialisten zeigen. Das ist eine sequenzielle Befehlskette.

6. Session 4: Agent Memory 🧠

roadmap4

Ein wirklich intelligenter Agent muss mehr können, als nur auf einmalige Anfragen zu reagieren. Sie muss sich an die Unterhaltung erinnern, den Kontext verstehen und sich an Feedback anpassen. Dies wird durch eine ordnungsgemäße Sitzungsverwaltung erreicht. Ein „Loop-Agent“ ist ein Agent, der sich in einer kontinuierlichen Konversationsschleife befindet, die durch seinen Speicher angetrieben wird.

Wenn Sie dasselbe Sitzungsobjekt für mehrere aufeinanderfolgende Anfragen verwenden, kann der KI-Agent den gesamten Verlauf der Unterhaltung „sehen“. So kann es Folgefragen beantworten, sich auf Grundlage von Feedback selbst korrigieren und mehrstufige Aufgaben planen.

➡️ Wo finde ich das im Notebook?

👉 Das entspricht den Zellen unter Teil 3: Agent mit Memory – Der Adaptive Planner 🗺️. 🌟

Arbeitsspeicher des KI-Agenten

  • Agent Definition (Agent-Definition): Die Funktion create_multi_day_trip_agent() definiert einen Agenten, der eine Reise schrittweise plant. Die Anweisungen betonen, dass der Kontext berücksichtigt, Feedback verarbeitet und der Tag einzeln geplant werden soll.

Szenario 3a: Agent MIT Memory (✅)

Dieser Test wird in der Funktion run_adaptive_memory_demonstration() ausgeführt.

  • Es wird ein einzelnes trip_session erstellt und für drei aufeinanderfolgende Züge wiederverwendet.
  • 1. Runde: Der Nutzer initiiert einen 2‑Tages-Reiseplan.
  • 2. Zug: Der Nutzer gibt Feedback („Ich bin kein großer Fan von Schlössern“). Da der Kundenservicemitarbeiter sich an Runde 1 erinnert, weiß er, welchen Teil des Plans er ändern muss, und kann eine Alternative anbieten.
  • 3. Zug: Der Nutzer bestätigt die Änderung und fragt nach dem nächsten Schritt. Der Agent erinnert sich an alles und plant Tag 2.

Szenario 3b: Agent OHNE Memory (❌)

Dieser Test wird in der Funktion run_memory_failure_demonstration() ausgeführt.

Dies zeigt, wie wichtig die Sitzungsverwaltung ist, da hier ein Fehler absichtlich gemacht wird. Für jede Antwort wird eine neue Sitzung erstellt.

  • Runde 1: Der Nutzer startet die Fahrt in session_one. Der Agent antwortet richtig.
  • Runde 2: Der Nutzer bittet, Tag 2 zu planen, aber die Anfrage wird in einer brandneuen session_two gesendet. Da diese neue Sitzung keinen Verlauf hat, ist der Agent verwirrt. Es hat Amnesie! Es weiß nicht, welche Reise geplant wird.

Aktion: Vergleiche die Antworten des Kundenservicemitarbeiters in run_adaptive_memory_demonstration() und run_memory_failure_demonstration(). Das ist das wichtigste Konzept im Notebook: Für eine durchgängige Unterhaltung ist eine durchgängige Sitzung erforderlich.

7. Session 5: Der Router-Agent 🚏

roadmap5

Ein einzelner Kundenservicemitarbeiter kann nur eine begrenzte Anzahl von Anfragen bearbeiten. Um wirklich komplexe Nutzeranfragen zu bearbeiten, benötigen wir ein Team von spezialisierten Kundenservicemitarbeitern. Woher wissen wir aber, welcher Agent für eine bestimmte Anfrage verwendet werden soll? Hier kommt der Router-Agent ins Spiel.

Der Router-Agent fungiert als „Master“-Agent oder Dispatcher. Seine einzige Aufgabe besteht darin, eine eingehende Nutzeranfrage zu analysieren und zu entscheiden, welcher spezialisierte Agent (oder Workflow von Agents) am besten für die Aufgabe geeignet ist. Sie beantwortet die Anfrage nicht selbst, sondern leitet sie einfach an den richtigen Downstream-Agenten weiter.

Eine Anfrage zu „bestes Sushi“ sollte beispielsweise an einen foodie_agent weitergeleitet werden, während eine Frage zu „Konzerte an diesem Wochenende“ von einem weekend_guide_agent beantwortet werden sollte.

➡️ Wo finde ich das im Notebook?

👉 Dieses Konzept ist für das gesamte Notebook von zentraler Bedeutung. Es wird jedoch erst in Teil 1: Multi-Agent Mayhem – Sequenzielle Workflows 🧠→🤖→🤖 🌟 eingeführt.

Router-Agent

  • Agent-Definitionen: In der Codezelle werden mehrere Spezial-KI-Agents (day_trip_agent, foodie_agent, transportation_agent) und vor allem der router_agent definiert. Achten Sie genau auf den Anweisungsprompt für den „router_agent“. Er wird explizit angewiesen, nur den Namen des besten Agenten für die Aufgabe zurückzugeben.
  • Ausführungslogik: Die Funktion „run_sequential_app“ zeigt, wie zuerst der Router-Agent aufgerufen wird, um eine Entscheidung (chosen_route) zu erhalten, und wie diese Entscheidung dann in einem if/elif-Block verwendet wird, um den entsprechenden Spezialisten-Agent auszuführen.

8. Session 6: SequentialAgent ⛓️

roadmap6

Für einige Aufgaben sind mehrere Schritte in einer bestimmten Reihenfolge erforderlich. Zum Beispiel: „Suche das beste Sushi-Restaurant in Palo Alto und sage mir dann, wie ich dorthin komme.“ Der Prozess besteht aus zwei Schritten: Zuerst muss das Restaurant gefunden und dann eine Wegbeschreibung abgerufen werden.

Das ADK bietet mit dem SequentialAgent eine einfache und leistungsstarke Möglichkeit, dies zu verwalten. Dies ist ein spezieller Workflow-Agent, der eine Liste von untergeordneten Agenten in einer vordefinierten Reihenfolge ausführt.

Der Zauber liegt im gemeinsamen Status. Die Ausgabe eines Agents in der Sequenz kann automatisch in einem gemeinsamen Status-Dictionary gespeichert und dann als Eingabe für den nächsten Agent verwendet werden. So ist kein komplexer manueller Code erforderlich, um Informationen zwischen den Schritten zu übergeben.

➡️ Wo finde ich das im Notebook?

👉 Das wird in Teil 2 (The ADK Way): Multi-Agent Mayhem with SequentialAgent 🧠→⛓️→🤖 behandelt. 🌟

Sequenzieller Agent

  • Agent-Refactoring:In der ersten Codezelle dieses Abschnitts sehen Sie die wichtigsten Änderungen an foodie_agent und transportation_agent:
    • foodie_agent hat jetzt eine output_key="destination". Damit wird dem ADK mitgeteilt, dass die endgültige Antwort in einer Variablen namens destination im freigegebenen Status gespeichert werden soll.
    • transportation_agent hat jetzt den Platzhalter {destination} in seinem Anweisungsprompt. Das ADK fügt den Wert aus dem freigegebenen Status automatisch in diesen Platzhalter ein.
  • Workflow definieren: find_and_navigate_agent wird als SequentialAgent definiert, wobei die untergeordneten Agents auf [foodie_agent, transportation_agent] festgelegt sind, damit sie in genau dieser Reihenfolge ausgeführt werden.
  • Vereinfachte Ausführung: Sehen Sie sich die Funktion run_sequential_app in diesem Abschnitt an. Die komplexe if/elif-Logik ist verschwunden. Die find_and_navigate_agent wird jetzt als einzelne, aufrufbare Einheit behandelt und das ADK übernimmt die internen sequenziellen Schritte automatisch.

9. Sitzung 7: LoopAgent 🔁

roadmap7

Nicht alle Probleme lassen sich mit einer einfachen Lösung beheben. Manchmal müssen wir eine Lösung vorschlagen, sie kritisieren und verfeinern, bis sie einer bestimmten Einschränkung entspricht.

Dafür bietet das ADK die LoopAgent. Dieser Workflow-Agent führt eine Reihe von untergeordneten Agenten wiederholt aus, bis eine bestimmte Bedingung erfüllt ist. Das ist ideal für die Entwicklung von „perfektionistischen“ Agenten, die ihre eigene Arbeit planen, kritisieren und verbessern können.

Das Diagramm zeigt, wie Planner Agent zuerst einen Plan erstellt. Dann geben wir die LoopAgent ein. Der Critic Agent prüft den Plan. Wenn sie fehlerhaft ist, erstellt die Refiner Agent eine neue Version und der Vorgang wird wiederholt. Wenn der Plan gut ist, ruft Refiner Agent das Tool exit_loop auf und der endgültige, validierte Plan wird zurückgegeben.

Loop-Agent

➡️ Wo finde ich das im Notebook?

👉 Das wird im Hilfeartikel Iterative Ideen mit LoopAgent 🧠→🔁→🤖 beschrieben. 🌟

  • Die Core Agents: Der Workflow verwendet planner_agent, critic_agent und refiner_agent.
  • Schleifendefinition: refinement_loop ist als LoopAgent definiert, der critic_agent, refiner_agent und sets max_iterations=3 orchestriert.
  • Die Exit-Bedingung: Die Schleife wird beendet, wenn critic_agent den Plan genehmigt. Daraufhin ruft refiner_agent das benutzerdefinierte Tool exit_loop auf.

10. Session 8: ParallelAgent ⚡️

roadmap8

Effizienz ist entscheidend. Wenn ein Nutzer mehrere, nicht zusammenhängende Informationen gleichzeitig anfordert, wäre es langsam, diese Suchanfragen einzeln auszuführen.

Die Lösung ist ParallelAgent. Dieser Workflow-Agent führt eine Liste von Sub-Agents gleichzeitig aus. Sobald alle parallelen Aufgaben abgeschlossen sind, können ihre Ergebnisse zusammengefasst und in einer einzigen, umfassenden Antwort zusammengeführt werden.

In diesem Diagramm ist zu sehen, wie ParallelAgent eine einzelne Anfrage entgegennimmt und die Arbeit in drei parallele Pfade aufteilt. museum_finder, concert_finder und restaurant_finder werden gleichzeitig ausgeführt. Sobald alle drei abgeschlossen sind, werden ihre individuellen Ergebnisse (im freigegebenen Status gespeichert) zusammengeführt und an den finalen Synthesis Agent übergeben, der sie zu einer Antwort kombiniert.

➡️ Wo finde ich das im Notebook?

👉 Dieser Workflow wird im Abschnitt Parallele Verarbeitung mit ParallelAgent 🧠→⚡️→🤖🤖🤖 beschrieben. 🌟

Paralleler Agent

  • Spezialisierte Agents: Es sind drei spezialisierte Agents definiert, die jeweils einen eindeutigen „output_key“ haben (z.B. „museum_result“).
  • Paralleler Workflow: Der parallel_research_agent ist als ParallelAgent definiert, wobei die drei Finder-Agents als seine sub_agents aufgeführt sind.
  • Syntheseschritt: Nach dem parallelen Schritt fasst ein finaler Synthesis-Agent alle Ergebnisse aus dem freigegebenen Status mithilfe von Platzhaltern ({museum_result}, {concert_result} usw.) in einer übersichtlichen Zusammenfassung zusammen.

11. Anhang: ADK Web – 🍎 Für Mac/Linux

roadmap9

In diesem Leitfaden erfahren Sie, wie Sie den ADK-Agenten für die Tagesausflugsplanung auf Ihrem lokalen Computer einrichten und ausführen.

Vorbereitung

  • Python 3.8 oder höher
    • Python 3.9 oder höher: Installiert google-adk==1.5.0 (neueste Version mit allen Funktionen)
    • Python 3.8: Installiert google-adk==0.3.0 (kompatible Version)
  • Google AI Studio API-Schlüssel
  • Internetverbindung

Schritt 1: Repository klonen

Öffnen Sie das Terminal und führen Sie Folgendes aus:

git clone https://github.com/cuppibla/ADK_Basic.git
cd ADK_Basic

Schritt 2: Virtuelle Umgebung einrichten und Abhängigkeiten installieren

Option A: Automatische Einrichtung (empfohlen)

# Run the setup script
chmod +x setup_venv.sh
./setup_venv.sh

Option B: Manuelle Einrichtung

# Create virtual environment
python3 -m venv .adk_env

# Activate virtual environment
source .adk_env/bin/activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Schritt 3: 🔥 WICHTIG – Umgebungsvariablen erstellen

⚠️ Diesen Schritt nicht überspringen! Erstellen Sie im Verzeichnis agent/ eine Datei .env:

# Create the .env file
touch agent/.env

# Open it in your default text editor
open agent/.env

Fügen Sie der Datei die folgenden Zeilen hinzu:

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here

🚨 WICHTIG: Ersetzen Sie your_actual_api_key_here durch Ihren tatsächlichen API-Schlüssel.

Schritt 4: Virtuelle Umgebung aktivieren (falls noch nicht aktiv)

source .adk_env/bin/activate

Am Anfang der Eingabeaufforderung des Terminals sollte (.adk_env) angezeigt werden.

Schritt 5: ADK-Weboberfläche ausführen

adk web

Schritt 6: Browser öffnen

  1. Öffnen Sie Ihren Browser und rufen Sie die im Terminal angezeigte URL auf (in der Regel http://localhost:8000).
  2. Wählen Sie links oben im Drop-down-Menü agent aus.
  3. Chatten Sie mit dem KI-Agenten für die Tagesausflugsplanung.

Es wird ein Gespräch wie dieses angezeigt: Beispiel für die ADK Web-Benutzeroberfläche

Umgebung deaktivieren

Wenn Sie die Arbeit am Projekt abgeschlossen haben:

deactivate

Dieser Befehl funktioniert auf Mac/Linux und Windows gleich. Das Präfix (.adk_env) verschwindet aus dem Terminal-Prompt.

Fehlerbehebung auf dem Mac

  • Python nicht gefunden: Verwenden Sie python3 anstelle von python.
  • Berechtigung verweigert: Führen Sie chmod +x setup_venv.sh aus, bevor Sie das Skript ausführen.

12. Anhang: ADK Web – 🪟 Für Windows-Nutzer

roadmap9

In diesem Leitfaden erfahren Sie, wie Sie den ADK-Agenten für die Tagesausflugsplanung auf Ihrem lokalen Computer einrichten und ausführen.

Vorbereitung

  • Python 3.8 oder höher
    • Python 3.9 oder höher: Installiert google-adk==1.5.0 (neueste Version mit allen Funktionen)
    • Python 3.8: Installiert google-adk==0.3.0 (kompatible Version)
  • Google AI Studio API-Schlüssel
  • Internetverbindung

Schritt 1: Repository klonen

Öffnen Sie die Eingabeaufforderung oder PowerShell und führen Sie Folgendes aus:

git clone https://github.com/cuppibla/ADK_Basic.git
cd ADK_Basic

Schritt 2: Virtuelle Umgebung einrichten und Abhängigkeiten installieren

Option A: Automatische Einrichtung (empfohlen)

# Run the setup script in Command Prompt
setup_venv.bat

Option B: Manuelle Einrichtung

Für die Eingabeaufforderung:

# Create virtual environment
python -m venv .adk_env

# Activate virtual environment
.adk_env\Scripts\activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Für PowerShell:

# Create virtual environment
python -m venv .adk_env

# Activate virtual environment
.adk_env\Scripts\Activate.ps1

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Schritt 3: 🔥 WICHTIG – Umgebungsvariablen erstellen

⚠️ Diesen Schritt nicht überspringen! Erstellen Sie im Verzeichnis agent/ eine Datei .env:

# Create the .env file
type nul > agent\.env

# Open it in Notepad
notepad agent\.env

Fügen Sie der Datei die folgenden Zeilen hinzu:

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here

🚨 WICHTIG: Ersetzen Sie your_actual_api_key_here durch Ihren tatsächlichen API-Schlüssel.

Schritt 4: Virtuelle Umgebung aktivieren (falls noch nicht aktiv)

Eingabeaufforderung:

.adk_env\Scripts\activate

PowerShell:

.adk_env\Scripts\Activate.ps1

Am Anfang Ihres Prompts sollte (.adk_env) angezeigt werden.

Schritt 5: ADK-Weboberfläche ausführen

adk web

Schritt 6: Browser öffnen

  1. Öffnen Sie Ihren Browser und rufen Sie die im Terminal angezeigte URL auf (in der Regel http://localhost:8000).
  2. Wählen Sie links oben im Drop-down-Menü agent aus.
  3. Chatten Sie mit dem KI-Agenten für die Tagesausflugsplanung.

Fehlerbehebung unter Windows

  • PowerShell-Fehler bei der Ausführungsrichtlinie: Führen Sie Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser aus.

Es wird ein Gespräch wie dieses angezeigt: Beispiel für die ADK Web-Benutzeroberfläche

Umgebung deaktivieren

Wenn Sie die Arbeit am Projekt abgeschlossen haben:

deactivate

Dieser Befehl funktioniert auf Mac/Linux und Windows gleich. Das Präfix (.adk_env) verschwindet aus dem Terminal-Prompt.