1. Введение
В этом практическом занятии вы создадите защищенное соединение с репозиторием GitHub с помощью Developer Connect и используете это соединение для непосредственного развертывания агента с помощью Agent Runtime на платформе Gemini Enterprise Agent Platform.
Developer Connect обеспечивает подключение, помогая вам настроить разрешения, авторизацию, аутентификацию и сетевые параметры для работы с инструментами разработки, не относящимися к Google. Это предоставляет прямой, нативный способ загрузки кода вашего приложения в сервисы Google Cloud.
В этом практическом занятии мы будем использовать подключение к репозиторию Git через Developer Connect для прямого развертывания агента с помощью Agent Runtime на платформе Gemini Enterprise Agent Platform. Developer Connect поддерживает GitHub, GitHub Enterprise, Bitbucket Cloud, Bitbucket Data Center, Gitlab и GitLab Enterprise. В этом практическом занятии мы рассмотрим процесс подключения к GitHub.
Что вы будете делать
- Создайте базовый агент в Agent Runtime и загрузите его в GitHub.
- Используйте Developer Connect , чтобы связать свой репозиторий GitHub с Google Cloud.
- Разверните агент в среде выполнения агента, используя подключенный репозиторий, непосредственно в среде выполнения.
- Запустите и протестируйте развернутый удаленный агент.
Что вам понадобится
- Веб-браузер, например Chrome.
- Проект Google Cloud с включенной функцией выставления счетов.
- Учетная запись GitHub и персональный токен доступа (классический) с доступом к репозиторию.
Этот практический семинар предназначен для разработчиков всех уровней, включая начинающих. В семинаре используются преимущественно бессерверные API, стоимость которых не должна превышать 1 доллар.
2. Прежде чем начать
Создайте проект в Google Cloud.
- В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud .
- Убедитесь, что для вашего облачного проекта включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта .
Запустить Cloud Shell
- В верхней части консоли Google Cloud нажмите кнопку «Активировать Cloud Shell» .
- После подключения к Cloud Shell подтвердите свою аутентификацию:
gcloud auth list
- Убедитесь, что ваш проект настроен:
export PROJECT_ID=$(gcloud config get-value project)
- Если параметры вашего проекта заданы не так, как ожидалось, настройте их следующим образом:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
Включить API
Выполните эту команду, чтобы включить все необходимые API для Developer Connect и Vertex AI:
gcloud services enable \ developerconnect.googleapis.com \ aiplatform.googleapis.com
3. Подготовьте исходный код агента.
Сначала вам нужно будет создать новый репозиторий GitHub для хранения исходного кода вашего агента и добавить в него простого агента, работающего с логическими рассуждениями на Python.
- Войдите в свою учетную запись GitHub .
- Создайте новый, закрытый репозиторий под названием
devconnect-agent. - Не следует инициализировать его файлом README или
.gitignore.
Создайте файлы агента локально.
В терминале Cloud Shell создайте каталог для вашего агента и определите его зависимости:
mkdir -p devconnect-agent/test cd devconnect-agent
Создайте файл requirements.txt в test каталоге, указав библиотеки среды выполнения агента:
cat <<EOF > test/requirements.txt google-cloud-aiplatform[agent_engines] EOF
Создайте файл my_agent.py в директории test . Этот скрипт определяет простой агент, отвечающий на запросы со списками:
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
Загрузите код на GitHub.
Инициализируйте репозиторий Git и отправьте свой код в только что созданный репозиторий GitHub.
Замените `<YOUR_GITHUB_USERNAME>` на ваше имя пользователя GitHub, а `<YOUR_GITHUB_TOKEN>` на ваш персональный токен доступа.
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
Теперь, когда ваш репозиторий размещен на GitHub, Developer Connect безопасно свяжет с ним ваш проект Google Cloud.
Настройте разрешения IAM.
Предоставьте Developer Connect доступ к вашему проекту Google Cloud, сгенерировав идентификатор службы.
gcloud beta services identity create \
--service=developerconnect.googleapis.com \
--project=$PROJECT_ID
Создайте соединение и связь.
Создать соединение и установить связь можно либо с помощью консоли Google Cloud, либо с помощью интерфейса командной строки gcloud .
Вариант 1: Использование консоли Google Cloud
- В консоли Google Cloud перейдите в раздел Developer Connect .
- Нажмите «Подключиться» в разделе GitHub.
- Назовите ваше соединение
my-github-connectionи выберите его вus-central1 - Следуйте инструкциям, чтобы авторизовать приложение Developer Connect GitHub.
- Выберите репозиторий
devconnect-agent, чтобы связать его с вашим проектом.
Вариант 2: Использование интерфейса командной строки gcloud.
Выполните следующие команды в Cloud Shell, чтобы связать свой репозиторий GitHub.
Для начала вам потребуется предоставить учетной записи службы Developer Connect доступ к 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. Разверните агент через Developer Connect.
После установления безопасного соединения с вашим репозиторием вы можете напрямую развернуть агент Agent Runtime, используя ссылку Developer Connect.
Разверните среду выполнения агента.
Создайте и запустите локально скрипт Python в Cloud Shell, чтобы развернуть своего агента с помощью 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
Настройте учетные данные приложения по умолчанию в gcloud.
gcloud auth application-default login
Запустите скрипт развертывания. Обратите внимание, что эта архитектура позволяет Vertex AI полностью обойти локальные области выполнения и собрать образ удаленного агента из исходного кода.
python3 deploy.py
Проверьте агента
После завершения развертывания запустите скрипт для запроса к конечной точке вашего агента.
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
Вы должны увидеть результат, похожий на следующий:
Invoking remote agent via endpoint... Agent response: [1, 2, 3]
6. Уборка
Чтобы избежать дальнейших списаний средств с вашего аккаунта Google Cloud, удалите ресурсы, созданные в ходе этого практического занятия.
Удалите ресурсы Developer Connect и 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
Очистка ресурсов 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. Поздравляем!
Поздравляем! Вы успешно настроили интеграцию с репозиторием GitHub с помощью Developer Connect и развернули агента ИИ непосредственно из исходного кода.
Что вы узнали
- Настроил проект в Google Cloud с использованием Developer Connect и Vertex AI.
- Персональный токен доступа надежно сохранен в Secret Manager.
- Создание подключений Developer Connect осуществляется явно через интерфейс командной строки gcloud.
- Экземпляр среды выполнения агента Vertex AI был создан программным способом с использованием сопоставления объектов
developer_connect_source.
Следующие шаги
- Изучите подробнее возможности Gemini Code Assist , адаптированные под вашу кодовую базу Developer Connect.
- Поэкспериментируйте с созданием надежных агентов Agent Runtime .