1. Pengantar
Dalam codelab ini, Anda akan membuat koneksi yang aman ke repositori GitHub menggunakan Developer Connect dan menggunakan koneksi tersebut untuk men-deploy agen secara langsung menggunakan Agent Runtime di Platform Agen Gemini Enterprise.
Developer Connect membuat konektivitas dengan memandu Anda melalui konfigurasi izin, otorisasi, autentikasi, dan jaringan ke alat developer non-Google. Hal ini memberikan cara langsung dan native untuk menarik kode aplikasi Anda ke layanan Google Cloud.
Untuk codelab ini, kita akan menggunakan Koneksi Repositori Git Developer Connect untuk men-deploy agen secara langsung menggunakan Agent Runtime di Platform Agen Gemini Enterprise. Developer Connect mendukung GitHub, GitHub Enterprise, Bitbucket Cloud, Bitbucket Data Center, GitLab, dan GitLab Enterprise. Dalam codelab ini, kita akan mempelajari cara membuat koneksi ke GitHub.
Yang akan Anda lakukan
- Buat agen dasar di Agent Runtime dan kirimkan ke GitHub
- Menggunakan Developer Connect untuk menautkan repositori GitHub Anda ke Google Cloud
- Men-deploy agen di Agent Runtime menggunakan repositori yang terhubung secara native
- Memanggil dan menguji agen jarak jauh yang di-deploy
Yang Anda butuhkan
- Browser web seperti Chrome
- Project Google Cloud yang mengaktifkan penagihan
- Akun GitHub dan Token Akses Pribadi (klasik) dengan akses repositori
Codelab ini ditujukan bagi developer dari semua level, termasuk para pemula. Sebagian besar resource yang dikelola dalam codelab ini adalah API tanpa server dan biayanya kurang dari $1.
2. Sebelum memulai
Buat Project Google Cloud
- Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
- Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
Mulai Cloud Shell
- Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
- Setelah terhubung ke Cloud Shell, verifikasi autentikasi Anda:
gcloud auth list
- Pastikan project Anda dikonfigurasi:
export PROJECT_ID=$(gcloud config get-value project)
- Jika project Anda tidak ditetapkan seperti yang diharapkan, tetapkan project:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
Mengaktifkan API
Jalankan perintah ini untuk mengaktifkan semua API yang diperlukan untuk Developer Connect dan Vertex AI:
gcloud services enable \ developerconnect.googleapis.com \ aiplatform.googleapis.com
3. Menyiapkan Kode Sumber Agen
Pertama, Anda akan membuat repositori GitHub baru untuk menyimpan kode sumber agen, dan menambahkan agen penalaran Python sederhana ke repositori tersebut.
- Login ke akun GitHub Anda.
- Buat repositori pribadi baru bernama
devconnect-agent. - Jangan melakukan inisialisasi dengan README atau
.gitignore.
Buat file agen secara lokal
Kembali di terminal Cloud Shell, buat direktori untuk agen Anda dan tentukan dependensinya:
mkdir -p devconnect-agent/test cd devconnect-agent
Buat file requirements.txt di direktori test yang menentukan library Agent Runtime:
cat <<EOF > test/requirements.txt google-cloud-aiplatform[agent_engines] EOF
Buat file my_agent.py di direktori test. Skrip ini menentukan agen sederhana yang menjawab kueri daftar:
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
Kirim kode ke GitHub
Lakukan inisialisasi repositori Git dan kirim kode Anda ke repositori GitHub yang baru dibuat.
Ganti `<YOUR_GITHUB_USERNAME>` dengan nama pengguna GitHub Anda dan `<YOUR_GITHUB_TOKEN>` dengan Token Akses Pribadi Anda.
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. Mengonfigurasi Developer Connect
Setelah repositori Anda ada di GitHub, Developer Connect akan menautkan project Google Cloud Anda ke repositori tersebut secara aman.
Menyiapkan izin IAM
Beri otorisasi Developer Connect untuk mengakses project Google Cloud Anda dengan membuat identitas layanan.
gcloud beta services identity create \
--service=developerconnect.googleapis.com \
--project=$PROJECT_ID
Buat koneksi dan tautan
Anda dapat membuat koneksi dan penautan menggunakan konsol Google Cloud atau gcloud CLI.
Opsi 1: Menggunakan Konsol Google Cloud
- Di konsol Google Cloud, buka Developer Connect.
- Klik Hubungkan di bagian GitHub
- Beri Nama Koneksi Anda
my-github-connectiondan pilih dius-central1 - Ikuti perintah untuk memberi otorisasi pada aplikasi GitHub Developer Connect.
- Pilih repositori
devconnect-agentuntuk menautkannya ke project Anda.
Opsi 2: Menggunakan gcloud CLI
Jalankan perintah berikut di Cloud Shell untuk menautkan repositori GitHub Anda.
Pertama, Anda harus memberikan akses akun layanan Developer Connect ke Secret Manager.
# 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. Men-deploy Agen dari Developer Connect
Dengan repositori yang terhubung dengan aman, Anda dapat men-deploy agen Agent Runtime secara langsung dengan memanfaatkan link Developer Connect secara native.
Men-deploy Runtime Agen
Buat dan jalankan skrip Python secara lokal di Cloud Shell untuk men-deploy agen Anda menggunakan Vertex AI SDK.
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
Konfigurasi kredensial aplikasi default di gcloud.
gcloud auth application-default login
Jalankan skrip deployment. Perhatikan bahwa arsitektur ini memungkinkan Vertex AI melewati cakupan eksekusi lokal sepenuhnya dan membangun image agen jarak jauh dari sumber.
python3 deploy.py
Menguji Agen
Setelah deployment selesai, jalankan skrip untuk membuat kueri endpoint agen Anda.
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
Anda akan melihat output yang mirip dengan:
Invoking remote agent via endpoint... Agent response: [1, 2, 3]
6. Pembersihan
Untuk menghindari biaya berkelanjutan pada akun Google Cloud Anda, hapus resource yang dibuat selama codelab ini.
Bersihkan resource Developer Connect dan Agent Runtime:
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
Membersihkan resource Developer Connect:
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. Selamat
Selamat! Anda telah membuat integrasi repositori GitHub secara aman menggunakan Developer Connect dan men-deploy agen AI secara native langsung dari pohon sumber Anda.
Yang telah Anda pelajari
- Mengonfigurasi project Google Cloud dengan Developer Connect dan Vertex AI
- Menyimpan Token Akses Pribadi ke Secret Manager dengan aman
- Koneksi Developer Connect yang dibuat secara eksplisit melalui gcloud CLI
- Membuat instance Vertex AI Agent Runtime secara terprogram, menggunakan pemetaan objek
developer_connect_source.
Langkah berikutnya
- Jelajahi lebih lanjut dengan Gemini Code Assist yang disesuaikan menggunakan integrasi codebase Developer Connect Anda.
- Bereksperimen dengan membangun agen runtime agen yang andal.