1. Introdução
Neste codelab, você vai criar uma conexão segura com um repositório do GitHub usando o Developer Connect e usar essa conexão para implantar diretamente um agente usando o Agent Runtime na plataforma de agentes do Gemini Enterprise.
O Developer Connect estabelece a conectividade orientando você pelas configurações de permissões, autorização, autenticação e rede para ferramentas de desenvolvedor que não são do Google. Isso oferece uma maneira direta e nativa de extrair o código do aplicativo para os serviços do Google Cloud.
Neste codelab, vamos usar uma conexão de repositório Git do Developer Connect para implantar diretamente um agente usando o Agent Runtime na plataforma de agentes do Gemini Enterprise. O Developer Connect é compatível com GitHub, GitHub Enterprise, Bitbucket Cloud, Bitbucket Data Center, Gitlab e GitLab Enterprise. Neste codelab, vamos explicar como fazer uma conexão com o GitHub.
Atividades deste laboratório
- Criar um agente básico no tempo de execução do agente e enviá-lo por push para o GitHub
- Use o Developer Connect para vincular seu repositório do GitHub ao Google Cloud
- Implante o agente no Agent Runtime usando seu repositório conectado de forma nativa
- Invocar e testar o agente remoto implantado
O que é necessário
- Um navegador da web, como o Chrome
- Tenha um projeto do Google Cloud com o faturamento ativado.
- Uma conta do GitHub e um token de acesso pessoal (clássico) com acesso ao repositório
Este codelab é destinado a desenvolvedores de todos os níveis, incluindo iniciantes. Os recursos gerenciados neste codelab são principalmente APIs sem servidor e custam menos de US $1.
2. Antes de começar
Criar um projeto do Google Cloud
- No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto na nuvem do Google Cloud.
- Verifique se o faturamento está ativado para seu projeto do Cloud. Saiba como verificar se o faturamento está ativado em um projeto.
Iniciar o Cloud Shell
- Clique em Ativar o Cloud Shell na parte de cima do console do Google Cloud.
- Depois de se conectar ao Cloud Shell, verifique sua autenticação:
gcloud auth list
- Confirme se o projeto está configurado:
export PROJECT_ID=$(gcloud config get-value project)
- Se o projeto não estiver definido como esperado, faça o seguinte:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
Ativar APIs
Execute este comando para ativar todas as APIs necessárias para o Developer Connect e a Vertex AI:
gcloud services enable \ developerconnect.googleapis.com \ aiplatform.googleapis.com
3. Preparar o código-fonte do agente
Primeiro, você vai criar um repositório do GitHub para armazenar o código-fonte do agente e adicionar um agente de inferência simples em Python.
- Faça login na sua conta do GitHub.
- Crie um novo repositório particular chamado
devconnect-agent. - Não inicialize com um README ou
.gitignore.
Criar os arquivos do agente localmente
De volta ao terminal do Cloud Shell, crie um diretório para seu agente e defina as dependências dele:
mkdir -p devconnect-agent/test cd devconnect-agent
Crie um arquivo requirements.txt no diretório test especificando as bibliotecas do Agent Runtime:
cat <<EOF > test/requirements.txt google-cloud-aiplatform[agent_engines] EOF
Crie um arquivo my_agent.py no diretório test. Esse script define um agente simples que responde a consultas de lista:
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
Envie o código para o GitHub
Inicialize um repositório do Git e envie o código para o repositório do GitHub recém-criado.
Substitua `<YOUR_GITHUB_USERNAME>` pelo seu nome de usuário do GitHub e `<YOUR_GITHUB_TOKEN>` pelo seu token de acesso pessoal.
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. Configurar o Developer Connect
Agora que seu repositório está no GitHub, o Developer Connect vai vincular seu projeto na nuvem do Google Cloud a ele de forma segura.
Configurar permissões do IAM
Autorize o Developer Connect a acessar seu projeto na nuvem do Google gerando uma identidade de serviço.
gcloud beta services identity create \
--service=developerconnect.googleapis.com \
--project=$PROJECT_ID
Criar a conexão e a vinculação
É possível criar a conexão e o link usando o console do Google Cloud ou a CLI gcloud.
Opção 1: usar o console do Google Cloud
- No console do Google Cloud, acesse Developer Connect.
- Clique em Conectar em GitHub.
- Dê um nome à sua conexão
my-github-connectione selecione-a emus-central1. - Siga as instruções para autorizar o app GitHub do Developer Connect.
- Selecione o repositório
devconnect-agentpara vincular ao seu projeto.
Opção 2: usar a CLI gcloud
Execute os comandos a seguir no Cloud Shell para vincular seu repositório do GitHub.
Primeiro, conceda à conta de serviço do Developer Connect acesso ao 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. Implantar o agente do Developer Connect
Com o repositório conectado com segurança, você pode implantar diretamente um agente do Agent Runtime usando o link do Developer Connect de forma nativa.
Implantar o Agent Runtime
Crie e execute um script Python localmente no Cloud Shell para implantar seu agente usando o SDK da Vertex AI.
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
Configure as credenciais padrão do aplicativo na gcloud.
gcloud auth application-default login
Execute o script de implantação. Essa arquitetura permite que a Vertex AI ignore completamente os escopos de execução local e crie a imagem do agente remoto da origem.
python3 deploy.py
Testar o agente
Quando a implantação terminar, execute um script para consultar o endpoint do agente.
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
Você verá uma saída como:
Invoking remote agent via endpoint... Agent response: [1, 2, 3]
6. Limpar
Para evitar cobranças contínuas na sua conta do Google Cloud, exclua os recursos criados durante este codelab.
Limpe os recursos do Developer Connect e do ambiente de execução do agente:
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
Limpe os recursos do 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. Parabéns
Parabéns! Você estabeleceu uma integração segura de repositório do GitHub usando o Developer Connect e implantou nativamente um agente de IA diretamente da sua árvore de origem.
O que você aprendeu
- Configurou um projeto na nuvem do Google Cloud com o Developer Connect e a Vertex AI
- Armazenar com segurança um token de acesso pessoal no Secret Manager
- Conexões do Developer Connect geradas explicitamente pela CLI gcloud
- Criou uma instância do ambiente de execução do agente da Vertex AI de forma programática usando o mapeamento de objetos
developer_connect_source.
Próximas etapas
- Saiba mais com o Gemini Code Assist, personalizado usando a integração da base de código do Developer Connect.
- Teste a criação de agentes do ambiente de execução de agente robustos.