1. Einführung
In diesem Codelab erstellen Sie mit Developer Connect eine sichere Verbindung zu einem GitHub-Repository und verwenden diese Verbindung, um einen Agenten direkt mit der Agent Runtime auf der Gemini Enterprise Agent Platform bereitzustellen.
Mit Developer Connect wird die Verbindung hergestellt, indem Sie durch Berechtigungen, Autorisierung, Authentifizierung und Netzwerkkonfigurationen für Entwicklertools von Drittanbietern geführt werden. So können Sie Ihren Anwendungscode direkt und nativ in Google Cloud-Dienste einbinden.
In diesem Codelab verwenden wir eine Developer Connect-Git-Repository-Verbindung, um einen Agenten direkt mit der Agent Runtime auf der Gemini Enterprise Agent Platform bereitzustellen. Developer Connect unterstützt GitHub, GitHub Enterprise, Bitbucket Cloud, Bitbucket Data Center, GitLab und GitLab Enterprise. In diesem Codelab wird eine Verbindung zu GitHub beschrieben.
Aufgaben
- Basis-Agent in der Agent Runtime erstellen und auf GitHub hochladen
- Developer Connect verwenden, um Ihr GitHub-Repository mit Google Cloud zu verknüpfen
- KI-Agent in der Agent Runtime mit Ihrem verbundenen Repository bereitstellen
- Bereitgestellten Remote-Agent aufrufen und testen
Voraussetzungen
- Ein Webbrowser wie Chrome
- Ein Google Cloud-Projekt mit aktivierter Abrechnung
- Ein GitHub-Konto und ein persönliches Zugriffstoken (klassisch) mit Repository-Zugriff
Dieses Codelab richtet sich an Entwickler aller Erfahrungsstufen, auch an Anfänger. Die in diesem Codelab verwalteten Ressourcen sind größtenteils serverlose APIs und sollten weniger als 1 $kosten.
2. Hinweis
Google Cloud-Projekt erstellen
- Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Cloud Shell starten
- Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren.
- Prüfen Sie nach der Verbindung mit Cloud Shell Ihre Authentifizierung:
gcloud auth list
- Prüfen Sie, ob Ihr Projekt konfiguriert ist:
export PROJECT_ID=$(gcloud config get-value project)
- Wenn Ihr Projekt nicht wie erwartet festgelegt ist, legen Sie es fest:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
APIs aktivieren
Führen Sie diesen Befehl aus, um alle erforderlichen APIs für Developer Connect und Vertex AI zu aktivieren:
gcloud services enable \ developerconnect.googleapis.com \ aiplatform.googleapis.com
3. Quellcode des Agents vorbereiten
Zuerst erstellen Sie ein neues GitHub-Repository für den Quellcode Ihres Agents und fügen ihm einen einfachen Python-Agent für die Entscheidungsfindung hinzu.
- Melden Sie sich in Ihrem GitHub-Konto an.
- Erstellen Sie ein neues privates Repository mit dem Namen
devconnect-agent. - Initialisieren Sie es nicht mit einer README-Datei oder
.gitignore.
Agent-Dateien lokal erstellen
Erstellen Sie im Cloud Shell-Terminal ein Verzeichnis für Ihren Agent und definieren Sie seine Abhängigkeiten:
mkdir -p devconnect-agent/test cd devconnect-agent
Erstellen Sie im Verzeichnis test eine requirements.txt-Datei, in der die Agent Runtime-Bibliotheken angegeben werden:
cat <<EOF > test/requirements.txt google-cloud-aiplatform[agent_engines] EOF
Erstellen Sie im Verzeichnis test eine Datei my_agent.py. In diesem Skript wird ein einfacher KI-Agent definiert, der Listenanfragen beantwortet:
cat <<EOF > test/my_agent.py
class MyAgent:
def query_none(self):
return None
def query_list(self):
return [1, 2, 3]
def register_operations(self):
return {
"": ["query_none", "query_list"],
}
agent = MyAgent()
EOF
Code auf GitHub übertragen
Initialisieren Sie ein Git-Repository und übertragen Sie Ihren Code per Push in das neu erstellte GitHub-Repository.
Ersetzen Sie `<YOUR_GITHUB_USERNAME>` durch Ihren GitHub-Nutzernamen und `<YOUR_GITHUB_TOKEN>` durch Ihr persönliches Zugriffstoken.
git init git branch -M main git add . git commit -m "Initial commit of agent source" git remote add origin https://<YOUR_GITHUB_TOKEN>@github.com/<YOUR_GITHUB_USERNAME>/devconnect-agent.git git push -u origin main
4. Developer Connect konfigurieren
Nachdem sich Ihr Repository auf GitHub befindet, verknüpft Developer Connect Ihr Google Cloud-Projekt sicher damit.
IAM-Berechtigungen einrichten
Autorisieren Sie Developer Connect für den Zugriff auf Ihr Google Cloud-Projekt, indem Sie eine Dienstidentität generieren.
gcloud beta services identity create \
--service=developerconnect.googleapis.com \
--project=$PROJECT_ID
Verbindung und Link erstellen
Sie können die Verbindung und den Link entweder über die Google Cloud Console oder über die gcloud CLI erstellen.
Option 1: Google Cloud Console verwenden
- Rufen Sie in der Google Cloud Console Developer Connect auf.
- Klicken Sie unter GitHub auf Verbinden.
- Geben Sie der Verbindung einen Namen
my-github-connectionund wählen Sie sie inus-central1aus. - Folgen Sie der Anleitung, um die Developer Connect-GitHub-App zu autorisieren.
- Wählen Sie das
devconnect-agent-Repository aus, um es mit Ihrem Projekt zu verknüpfen.
Option 2: gcloud CLI verwenden
Führen Sie die folgenden Befehle in Cloud Shell aus, um Ihr GitHub-Repository zu verknüpfen.
Zuerst müssen Sie dem Developer Connect-Dienstkonto Zugriff auf Secret Manager gewähren.
# Get the service account
SERVICE_ACCOUNT=$(gcloud beta services identity create \
--service=developerconnect.googleapis.com \
--project=$PROJECT_ID \
--format="value(email)")
# Grant access to Secret Manager
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT" \
--role="roles/secretmanager.admin"
# 1. Create the general Developer Connect connection to GitHub
gcloud developer-connect connections create my-github-connection \
--location=us-central1 \
--github-config-app=developer-connect
# 2. Link your specific agent repository to the connection
# Replace <YOUR_GITHUB_USERNAME> with your actual GitHub username
gcloud developer-connect connections git-repository-links create devconnect-agent \
--connection=my-github-connection \
--location=us-central1 \
--clone-uri=https://github.com/<YOUR_GITHUB_USERNAME>/devconnect-agent.git
5. Agent über Developer Connect bereitstellen
Nachdem Sie Ihr Repository sicher verbunden haben, können Sie einen Agent Runtime-Agent direkt über den Developer Connect-Link bereitstellen.
Agent Runtime bereitstellen
Erstellen und führen Sie ein Python-Skript lokal in Cloud Shell aus, um Ihren Agenten mit dem Vertex AI SDK bereitzustellen.
cd ~
cat <<EOF > deploy.py
import vertexai
PROJECT_ID = "$PROJECT_ID"
LOCATION = "us-central1"
vertexai.init(project=PROJECT_ID, location=LOCATION)
client = vertexai.Client(project=PROJECT_ID, location=LOCATION)
# Define the full URI string for the Developer Connect repository link
repo_link = f"projects/{PROJECT_ID}/locations/{LOCATION}/connections/my-github-connection/gitRepositoryLinks/devconnect-agent"
print("Deploying to Agent Runtime from Developer Connect...")
remote_agent = client.agent_engines.create(
config={
"developer_connect_source": {
"git_repository_link": repo_link,
"revision": "main",
"dir": "test",
},
"entrypoint_module": "my_agent",
"entrypoint_object": "agent",
"requirements_file": "requirements.txt",
"class_methods": [
{"name": "query_list", "api_mode": ""}
],
"display_name": "DevConnect Agent",
},
)
print(f"Agent Runtime deployed successfully: {remote_agent.api_resource.name}")
EOF
Konfigurieren Sie die Standardanmeldedaten für Anwendungen in gcloud.
gcloud auth application-default login
Führen Sie das Bereitstellungsskript aus. Bei dieser Architektur kann Vertex AI lokale Ausführungsumgebungen vollständig umgehen und das Remote-Agent-Image aus dem Quellcode erstellen.
python3 deploy.py
Agent testen
Führen Sie nach Abschluss der Bereitstellung ein Script aus, um den Agent-Endpunkt abzufragen.
cat <<EOF > invoke.py
import vertexai
PROJECT_ID = "$PROJECT_ID"
LOCATION = "us-central1"
client = vertexai.Client(project=PROJECT_ID, location=LOCATION)
# Retrieve the latest reasoning engine
engines = list(client.agent_engines.list())
if engines:
agent = client.agent_engines.get(name=engines[0].api_resource.name)
print("Invoking remote agent via endpoint...")
# NOTE: Invoking remote agent
response = agent.query_list()
print(f"Agent response: {response}")
else:
print("No deployment found.")
EOF
python3 invoke.py
Die Ausgabe sollte etwa so aussehen:
Invoking remote agent via endpoint... Agent response: [1, 2, 3]
6. Bereinigen
Löschen Sie die in diesem Codelab erstellten Ressourcen, um laufende Gebühren für Ihr Google Cloud-Konto zu vermeiden.
Bereinigen Sie die Developer Connect- und Agent Runtime-Ressourcen:
cat <<EOF > cleanup.py
import vertexai
PROJECT_ID = "$PROJECT_ID"
LOCATION = "us-central1"
client = vertexai.Client(project=PROJECT_ID, location=LOCATION)
for engine in client.agent_engines.list():
print(f"Deleting {engine.api_resource.name}")
engine.delete()
EOF
python3 cleanup.py
Developer Connect-Ressourcen bereinigen:
gcloud developer-connect connections git-repository-links delete devconnect-agent \
--connection=my-github-connection \
--location=us-central1 \
--quiet
gcloud developer-connect connections delete my-github-connection \
--location=us-central1 \
--quiet
7. Glückwunsch
Glückwunsch! Sie haben eine sichere GitHub-Repository-Integration mit Developer Connect eingerichtet und einen KI-Agenten direkt aus Ihrem Quellbaum bereitgestellt.
Das haben Sie gelernt
- Sie haben ein Google Cloud-Projekt mit Developer Connect und Vertex AI konfiguriert.
- Ein persönliches Zugriffstoken wurde sicher in Secret Manager gespeichert.
- Developer Connect-Verbindungen, die explizit über die gcloud CLI erstellt wurden
- Sie haben programmatisch eine Vertex AI Agent Runtime-Instanz mit der
developer_connect_source-Objektzuordnung erstellt.
Nächste Schritte
- Gemini Code Assist, das auf Ihre Developer Connect-Codebasisintegration zugeschnitten ist, bietet noch mehr Möglichkeiten.
- Experimentieren Sie mit dem Erstellen robuster Agent Runtime-Agenten.