1. Giriş
Bu codelab'de, Developer Connect'i kullanarak bir GitHub deposuna güvenli bağlantı oluşturacak ve bu bağlantıyı kullanarak Gemini Enterprise Agent Platform'da Agent Runtime ile doğrudan bir aracı dağıtacaksınız.
Developer Connect, Google harici geliştirici araçlarına yönelik izin, yetkilendirme, kimlik doğrulama ve ağ yapılandırmaları konusunda size yol göstererek bağlantı oluşturur. Bu, uygulama kodunuzu Google Cloud hizmetlerine çekmek için doğrudan ve yerel bir yol sağlar.
Bu codelab'de, Gemini Enterprise Agent Platform'da Agent Runtime'ı kullanarak doğrudan bir aracı dağıtmak için Developer Connect Git Repository Connection'ı kullanacağız. Developer Connect; GitHub, GitHub Enterprise, Bitbucket Cloud, Bitbucket Data Center, GitLab ve GitLab Enterprise'ı destekler. Bu codelab'de GitHub'a bağlantı oluşturma sürecini adım adım inceleyeceğiz.
Yapacaklarınız
- Agent Runtime'da temel bir aracı oluşturma ve bunu GitHub'a aktarma
- GitHub deponuzu Google Cloud'a bağlamak için Developer Connect'i kullanma
- Bağlı deponuzu yerel olarak kullanarak aracıyı Agent Runtime'da dağıtma
- Dağıtılan uzak aracınızı çağırma ve test etme
İhtiyacınız olanlar
- Chrome gibi bir web tarayıcısı
- Faturalandırmanın etkin olduğu bir Google Cloud projesi
- Depo erişimi olan bir GitHub hesabı ve kişisel erişim jetonu (klasik)
Bu codelab, yeni başlayanlar da dahil olmak üzere her seviyeden geliştiriciye yöneliktir. Bu codelab'de yönetilen kaynaklar çoğunlukla sunucusuz API'lerdir ve maliyeti 1 ABD dolarının altında olmalıdır.
2. Başlamadan önce
Google Cloud projesi oluşturma
- Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
- Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.
Cloud Shell'i Başlatma
- Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir'i tıklayın.
- Cloud Shell'e bağlandıktan sonra kimlik doğrulamanızı onaylayın:
gcloud auth list
- Projenizin yapılandırıldığını onaylayın:
export PROJECT_ID=$(gcloud config get-value project)
- Projeniz beklendiği gibi ayarlanmamışsa şu şekilde ayarlayın:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
API'leri etkinleştir
Developer Connect ve Vertex AI için gerekli tüm API'leri etkinleştirmek üzere şu komutu çalıştırın:
gcloud services enable \ developerconnect.googleapis.com \ aiplatform.googleapis.com
3. Temsilci Kaynak Kodunu Hazırlama
İlk olarak, aracı kaynak kodunuzu barındırmak için yeni bir GitHub deposu oluşturacak ve bu depoya basit bir Python muhakeme aracısı ekleyeceksiniz.
- GitHub hesabınıza giriş yapın.
devconnect-agentadlı yeni bir özel depo oluşturun.- README veya
.gitignoreile başlatmayın. Başlatmayın.
Ajan dosyalarını yerel olarak oluşturma
Cloud Shell terminalinize dönerek aracınız için bir dizin oluşturun ve bağımlılıklarını tanımlayın:
mkdir -p devconnect-agent/test cd devconnect-agent
test dizininde, Agent Runtime kitaplıklarını belirten bir requirements.txt dosyası oluşturun:
cat <<EOF > test/requirements.txt google-cloud-aiplatform[agent_engines] EOF
test dizininde bir my_agent.py dosyası oluşturun. Bu komut dosyası, liste sorgularını yanıtlayan basit bir aracı tanımlar:
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
Kodu GitHub'a gönderme
Git deposunu başlatın ve kodunuzu yeni oluşturduğunuz GitHub deposuna aktarın.
`<YOUR_GITHUB_USERNAME>` kısmını GitHub kullanıcı adınızla, `<YOUR_GITHUB_TOKEN>` kısmını ise kişisel erişim jetonunuzla değiştirin.
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'i yapılandırma
Deponuz GitHub'da olduğuna göre Developer Connect, Google Cloud projenizi güvenli bir şekilde depoya bağlar.
IAM izinlerini ayarlama
Bir hizmet kimliği oluşturarak Developer Connect'in Google Cloud projenize erişmesine izin verin.
gcloud beta services identity create \
--service=developerconnect.googleapis.com \
--project=$PROJECT_ID
Bağlantı oluşturma ve bağlama
Bağlantıyı ve bağlantıyı Google Cloud Console veya gcloud KSA'yı kullanarak oluşturabilirsiniz.
1. seçenek: Google Cloud Console'u kullanma
- Google Cloud Console'da Developer Connect'e gidin.
- GitHub'ın altında Bağlan'ı tıklayın.
- Bağlantınızı adlandırın
my-github-connectionveus-central1bölümünde seçin. - Developer Connect GitHub uygulamasının yetkilendirilmesi için istemleri uygulayın.
- Projenize bağlamak için
devconnect-agentdeposunu seçin.
2. seçenek: gcloud CLI'yı kullanma
GitHub deponuzu bağlamak için Cloud Shell'de aşağıdaki komutları çalıştırın.
Öncelikle Developer Connect hizmet hesabına Secret Manager'a erişim izni vermeniz gerekir.
# 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. Aracıyı Developer Connect'ten dağıtma
Deponuz güvenli bir şekilde bağlandıktan sonra, Developer Connect bağlantısını yerel olarak kullanarak doğrudan bir Agent Runtime aracısı dağıtabilirsiniz.
Agent Runtime'ı dağıtma
Vertex AI SDK'yı kullanarak aracınızı dağıtmak için Cloud Shell'de yerel olarak bir Python komut dosyası oluşturun ve çalıştırın.
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
gcloud'da varsayılan uygulama kimlik bilgilerini yapılandırın.
gcloud auth application-default login
Dağıtım komut dosyasını çalıştırın. Bu mimarinin, Vertex AI'ın yerel yürütme kapsamlarını tamamen atlamasına ve uzak aracı görüntüsünü kaynaktan oluşturmasına olanak tanıdığını unutmayın.
python3 deploy.py
Aracıyı test etme
Dağıtım tamamlandıktan sonra, aracı uç noktanızı sorgulamak için bir komut dosyası çalıştırın.
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
Şuna benzer bir çıkış alırsınız:
Invoking remote agent via endpoint... Agent response: [1, 2, 3]
6. Temizleme
Google Cloud hesabınızın sürekli olarak ücretlendirilmesini önlemek için bu codelab sırasında oluşturulan kaynakları silin.
Developer Connect ve Agent Runtime kaynaklarını temizleyin:
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 kaynaklarını temizleyin:
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. Tebrikler
Tebrikler! Developer Connect'i kullanarak güvenli bir şekilde GitHub deposu entegrasyonu oluşturdunuz ve doğrudan kaynak ağacınızdan yerel olarak bir yapay zeka aracısı dağıttınız.
Öğrendikleriniz
- Developer Connect ve Vertex AI ile bir Google Cloud projesi yapılandırmış olmanız gerekir.
- Kişisel erişim jetonunu Secret Manager'da güvenli bir şekilde saklama
- gcloud CLI aracılığıyla açıkça oluşturulan Developer Connect bağlantıları
developer_connect_sourcenesne eşlemesini kullanarak programatik olarak Vertex AI Agent Runtime örneği oluşturduysanız.
Sonraki adımlar
- Developer Connect kod tabanı entegrasyonunuz kullanılarak uyarlanmış Gemini Code Assist ile daha fazla keşfedin.
- Güçlü Agent Runtime aracıları oluşturma denemeleri yapın.