1. Введение
Обзор
Что вы узнаете
- Как развернуть модель Gemma 4 на графическом процессоре Cloud Run RTX 6000 Pro с использованием vLLM
- Как создать ИИ-агента с помощью Agent Development Kit (ADK) и использовать с ним Gemma 4.
- Как предоставить агентам ИИ доступ к структурированным данным в BigQuery с помощью сервера BigQuery MCP .
Gemma 4 — это семейство моделей весов с открытой лицензией Apache 2 от Google DeepMind. Модели являются мультимодальными, многоязычными, предлагают логические рассуждения и обладают эффективной архитектурой.
Cloud Run — это бессерверная среда для контейнеров с поддержкой графических процессоров.
Agent Development Kit (ADK) — это платформа для разработки агентов с открытым исходным кодом, которая позволяет создавать, отлаживать и развертывать надежные агенты искусственного интеллекта в масштабах предприятия.
BigQuery — это полностью управляемое, бессерверное корпоративное хранилище данных, позволяющее хранить, запрашивать и анализировать огромные массивы данных.
Протокол контекста модели (MCP) стандартизирует способы подключения больших языковых моделей (LLM) и приложений или агентов искусственного интеллекта к внешним источникам данных. Серверы MCP позволяют использовать их инструменты, ресурсы и подсказки для выполнения действий и получения обновленных данных из их бэкэнд-сервиса. Сервер BigQuery MCP предоставляет вашим агентам ИИ прямой и безопасный способ анализа данных в BigQuery. Этот полностью управляемый сервер MCP устраняет накладные расходы на управление, позволяя вам сосредоточиться на разработке интеллектуальных агентов.
2. Настройка и требования
Начните с настройки проекта по умолчанию и региона Cloud Run:
Замените <YOUR_PROJECT_ID> на идентификатор вашего проекта Google Cloud. Вы можете найти его, щелкнув по названию проекта в верхней части консоли и посмотрев идентификатор проекта, связанный с этим названием.
PROJECT_ID=<YOUR_PROJECT_ID>
# set the project
gcloud config set project $PROJECT_ID
Замените <YOUR_CLOUD_RUN_REGION> на один из следующих регионов Cloud:
-
us-central1 -
asia-southeast1
# set Cloud Run region
REGION=<YOUR_CLOUD_RUN_REGION>
Укажите регион:
gcloud config set run/region $REGION && echo $REGION > lab2rgn.txt
Ниже приведены переменные окружения, которые будут использоваться на протяжении всего этого практического занятия. Вы можете сохранить их в файле окружения и выполнить команду «source». Убедитесь, что вы правильно указали значение идентификатора вашего проекта и, при необходимости, региона.
# Model name on HuggingFace Hub
export MODEL_NAME="google/gemma-4-31B-it"
# Cloud Run Service name
export SERVICE_NAME="gemma4-rtx-vllm-codelab"
# Cloud Project and Region for Cloud Run
export GOOGLE_CLOUD_PROJECT=$(gcloud config get project -q)
export GOOGLE_CLOUD_REGION=$(cat lab2rgn.txt 2> /dev/null || gcloud config get run/region -q)
# Service account for Cloud Run service
export SERVICE_ACCOUNT="vllm-service-sa"
export SERVICE_ACCOUNT_EMAIL="${SERVICE_ACCOUNT}@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com"
# GCS Bucket for the model cache.
export MODEL_CACHE_BUCKET="${GOOGLE_CLOUD_PROJECT}-${GOOGLE_CLOUD_REGION}-hf-model-cache"
# Model cache location in GSC bucket
export GCS_MODEL_LOCATION="gs://${MODEL_CACHE_BUCKET}/model-cache/${MODEL_NAME}"
# Uncomment next line if loading gemma-4-31B-it directly from the public cache bucket
# export GCS_MODEL_LOCATION="gs://vertex-model-garden-public-us/gemma4/gemma-4-31B-it"
# VPC Network for Direct VPC Egress
export VPC_NETWORK="vllm-${GOOGLE_CLOUD_REGION}-net"
export VPC_SUBNET="vllm-${GOOGLE_CLOUD_REGION}-subnet"
export SUBNET_RANGE="10.8.0.0/26"
Включите API, необходимые для этого практического занятия. Изменения в API могут вступить в силу через 2-3 минуты.
gcloud services enable --project "${GOOGLE_CLOUD_PROJECT}" \
run.googleapis.com \
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
iam.googleapis.com \
compute.googleapis.com \
vpcaccess.googleapis.com \
storage.googleapis.com \
bigquery.googleapis.com \
aiplatform.googleapis.com
3. Создайте учетную запись службы.
Если при создании службы или задания Cloud Run не указана учетная запись службы, Cloud Run использует учетную запись службы Compute Engine по умолчанию. Рекомендуется использовать отдельную учетную запись службы для Cloud Run, чтобы избежать запуска службы с избыточными правами доступа.
Создание учетной записи службы для службы Cloud Run.
gcloud iam service-accounts create ${SERVICE_ACCOUNT} \
--project "${GOOGLE_CLOUD_PROJECT}" \
--display-name "vLLM Service Account"
4. Настройка облачного хранилища
Создайте сегмент Cloud Storage для хранения весов модели. Это позволит использовать прямой исходящий трафик VPC для более быстрой загрузки весов модели каждый раз, когда Cloud Run запускает экземпляр службы.
В сочетании с функцией Run:ai Model Streamer в vLLM это значительно сокращает время загрузки модели.
Создайте корзину
Убедитесь, что это однорегиональный сегмент, размещенный совместно со службой Cloud Run.
gcloud storage buckets create "gs://${MODEL_CACHE_BUCKET}" \
--uniform-bucket-level-access --public-access-prevention \
--project "${GOOGLE_CLOUD_PROJECT}" --location "${GOOGLE_CLOUD_REGION}"
5. Получение и кэширование весов модели.
Далее загрузите модель Gemma 4 в свой сегмент Cloud Storage. Весовые коэффициенты модели занимают десятки гигабайт, и предварительная загрузка их на локальный компьютер или в Cloud Shell может быть нецелесообразной. Вместо этого используйте Cloud Build с достаточным объемом хранилища для размещения весовых коэффициентов модели.
Копирование весов модели из общего хранилища в облаке.
В Google Cloud размещен общедоступный сегмент Cloud Storage с весами модели Gemma 4.
Чтобы скопировать их в ваше хранилище, выполните команду:
gcloud builds submit --project="${GOOGLE_CLOUD_PROJECT}" --region="${GOOGLE_CLOUD_REGION}" --no-source \
--substitutions="_MODEL_NAME=${MODEL_NAME},_GCS_MODEL_LOCATION=${GCS_MODEL_LOCATION}" \
--config=/dev/stdin <<'EOF'
steps:
- name: 'gcr.io/google.com/cloudsdktool/google-cloud-cli:slim'
entrypoint: 'bash'
args:
- '-c'
- |
if [[ "$_GCS_MODEL_LOCATION" == *"vertex-model-garden-public-us"* ]]; then
echo "Using the public cache bucket."
exit 0
fi
gcloud config set storage/parallel_composite_upload_enabled True
gcloud config set storage/parallel_composite_upload_threshold 150M
gcloud config set storage/sliced_object_download_threshold 150M
MODEL_NAME="$_MODEL_NAME"
SHORT_NAME="$${MODEL_NAME#*/}"
gcloud storage cp -r -D "gs://vertex-model-garden-public-us/gemma4/$${SHORT_NAME}" "$_GCS_MODEL_LOCATION"
EOF
6. Настройка сети для прямого исходящего трафика VPC.
Для настройки прямого исходящего трафика VPC необходимо создать сеть и подсеть с включенным частным доступом Google .
Это позволяет сервисам Cloud Run подключаться к набору внешних IP-адресов, используемых API и сервисами Google, включая Cloud Storage.
Создайте сеть
gcloud compute networks create "$VPC_NETWORK" \
--subnet-mode=custom \
--bgp-routing-mode=regional \
--project "$GOOGLE_CLOUD_PROJECT"
Создайте подсеть
gcloud compute networks subnets create "$VPC_SUBNET" \
--network="$VPC_NETWORK" \
--region="$GOOGLE_CLOUD_REGION" \
--range="$SUBNET_RANGE" \
--enable-private-ip-google-access \
--project "$GOOGLE_CLOUD_PROJECT"
7. Настройка политики доступа к учетной записи службы.
Для доступа к весам модели в созданном вами сегменте хранилища (Storage Bucket) учетной записи службы Cloud Run Service Account требуются соответствующие разрешения.
gcloud storage buckets add-iam-policy-binding "gs://${MODEL_CACHE_BUCKET}" \
--member "serviceAccount:${SERVICE_ACCOUNT_EMAIL}" \
--role "roles/storage.admin" \
--project "${GOOGLE_CLOUD_PROJECT}"
8. Инициализация переменных конфигурации
Определите переменные как для механизма вывода vLLM, так и для службы Cloud Run.
# vLLM variables
export MAX_MODEL_LEN="32767" # 32767 to improve concurrency. Keep it empty to use model's maximim context length (256K)
export QUANTIZATION_TYPE="fp8" # Model quantization for faster performance and lower memory usage.
export KV_CACHE_DTYPE="fp8" # KV-cache quantization to save GPU memory.
export GPU_MEM_UTIL="0.95" # Fraction of GPU memory to be used by the vLLM engine.
export TENSOR_PARALLEL_SIZE="1" # Partitioning model across GPUs (1 here as we have only 1 GPU).
export MAX_NUM_SEQS="16" # Max concurrent requests vLLM processes in one batch.
# Cloud Run variables
export CLOUD_RUN_CPU_NUM=20
export CLOUD_RUN_MEMORY_GB=80
export CLOUD_RUN_MAX_INSTANCES=1
export CLOUD_RUN_CONCURRENCY=16
9. Развертывание в облаке.
Подготовка командной строки контейнера vLLM
Для быстрого и эффективного запуска больших моделей vLLM требуется множество параметров. Эти параметры будут переданы в качестве аргументов контейнеру, развернутому в Cloud Run.
CONTAINER_ARGS=(
"vllm"
"serve"
"${GCS_MODEL_LOCATION}"
"--served-model-name" "${MODEL_NAME}"
"--enable-log-requests"
"--enable-chunked-prefill"
"--enable-prefix-caching"
"--generation-config" "auto"
"--enable-auto-tool-choice"
"--tool-call-parser" "gemma4"
"--reasoning-parser" "gemma4"
"--dtype" "bfloat16"
"--quantization" "${QUANTIZATION_TYPE}"
"--kv-cache-dtype" "${KV_CACHE_DTYPE}"
"--max-num-seqs" "${MAX_NUM_SEQS}"
"--gpu-memory-utilization" "${GPU_MEM_UTIL}"
"--tensor-parallel-size" "${TENSOR_PARALLEL_SIZE}"
"--load-format" "runai_streamer"
"--port" "8080"
"--host" "0.0.0.0"
)
if [[ "${MAX_MODEL_LEN}" != "" ]]; then
CONTAINER_ARGS+=("--max-model-len" "${MAX_MODEL_LEN}")
fi
export CONTAINER_ARGS_STR="${CONTAINER_ARGS[*]}"
Развертывание службы Cloud Run
Выполните следующую команду для развертывания службы Cloud Run. Обратите внимание на тип графического процессора ( RTX 6000 Pro ), базовый образ ( pytorch-vllm-serve:gemma4 ) и необходимость аутентификации для вызова службы ( --no-allow-unauthenticated ).
gcloud beta run deploy "${SERVICE_NAME}" \
--image="us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:gemma4" \
--project "${GOOGLE_CLOUD_PROJECT}" \
--region "${GOOGLE_CLOUD_REGION}" \
--service-account "${SERVICE_ACCOUNT_EMAIL}" \
--execution-environment gen2 \
--no-allow-unauthenticated \
--cpu="${CLOUD_RUN_CPU_NUM}" \
--memory="${CLOUD_RUN_MEMORY_GB}Gi" \
--gpu=1 \
--gpu-type=nvidia-rtx-pro-6000 \
--no-gpu-zonal-redundancy \
--no-cpu-throttling \
--max-instances ${CLOUD_RUN_MAX_INSTANCES} \
--concurrency ${CLOUD_RUN_CONCURRENCY} \
--network ${VPC_NETWORK} \
--subnet ${VPC_SUBNET} \
--vpc-egress all-traffic \
--set-env-vars "MODEL_NAME=${MODEL_NAME}" \
--set-env-vars "GOOGLE_CLOUD_PROJECT=${GOOGLE_CLOUD_PROJECT}" \
--set-env-vars "GOOGLE_CLOUD_REGION=${GOOGLE_CLOUD_REGION}" \
--labels dev-tutorial=codelab-cloud-run-adk-bq-mcp \
--port=8080 \
--timeout=3600 \
--cpu-boost \
--startup-probe tcpSocket.port=8080,initialDelaySeconds=240,failureThreshold=40,timeoutSeconds=10,periodSeconds=15 \
--command "bash" \
--args="^;^-c;${CONTAINER_ARGS_STR}"
Развертывание займет несколько минут. После завершения у вас будет среда с поддержкой графических процессоров, обслуживающая Gemma 4 с использованием бессерверной инфраструктуры с автоматическим масштабированием, включая масштабирование до нуля (нет трафика, нет затрат).
10. Проверьте работу сервиса.
После развертывания вы сможете взаимодействовать с вашей моделью Gemma 4, используя API, совместимый с OpenAI и поддерживающий vLLM.
Получить URL-адрес сервиса
Получите URL-адрес развернутой вами службы Cloud Run.
SERVICE_URL=$(gcloud run services describe $SERVICE_NAME --project "${GOOGLE_CLOUD_PROJECT}" --region "${GOOGLE_CLOUD_REGION}" --format 'value(status.url)')
echo "Service URL: $SERVICE_URL"
Вывод о ходе выполнения
Отправьте запрос модели с помощью curl .
curl -s "$SERVICE_URL/v1/chat/completions" \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" \
-d '{
"model": "'"${MODEL_NAME}"'",
"messages": [
{"role": "user", "content": "Why is the sky blue?"}
],
"chat_template_kwargs": {
"enable_thinking": true
},
"skip_special_tokens": false
}' | jq -r '.choices[0].message.content'
11. Создайте агент данных с помощью Agent Development Kit.
Напишите код агента
Создайте корневой каталог для вашего приложения Agentic в терминале Cloud Shell или на локальном терминале:
mkdir data_agent
Откройте Cloud Shell Editor или другой текстовый редактор и создайте agent.py в каталоге data_agent :
data_agent/
agent.py
agent.py
import os
import subprocess
from google.adk.agents import LlmAgent
from google.adk.models.lite_llm import LiteLlm
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
import google.auth
from google.auth.transport.requests import Request
from google.oauth2 import id_token
# Fetch Application Default Credentials (ADC)
application_default_credentials, project_id = google.auth.default()
application_default_credentials.refresh(Request())
# Retrieve Google Cloud project to use.
project_id = os.getenv("GOOGLE_CLOUD_PROJECT", project_id)
if not project_id:
raise ValueError("GOOGLE_CLOUD_PROJECT environment variable is not set.")
if os.getenv("GOOGLE_GENAI_USE_ENTERPRISE", "").lower() not in ["true", "1"]:
# Using Cloud Run for hosting LLM with LiteLLM wrapper
api_base = os.getenv(
"API_BASE",
os.environ.get("OPENAI_API_BASE", "")
).rstrip("/")
if not api_base:
raise ValueError("API_BASE environment variable is not set")
if not api_base.endswith("/v1"):
api_base += "/v1"
model_name = os.getenv("MODEL_NAME")
if not model_name:
raise ValueError("MODEL_NAME environment variable is not set")
# Format required by LiteLLM for OpenAI-compatible APIs
model_name=f"openai/{model_name}"
# To access the model's Cloud Run service,
# we need an identity token.
try:
model_service_token_string = id_token.fetch_id_token(Request(), api_base)
except Exception as e:
# Fallback with using gcloud CLI to get the identity token
model_service_token_string = subprocess.check_output(
f"gcloud auth print-identity-token -q",
shell=True
).decode().strip()
# Gemma 4 in vLLM requires additional parameters in the request body.
extra_body={
"chat_template_kwargs": {
"enable_thinking": True
},
"skip_special_tokens": False
}
# Configure the model with LiteLLM and an OpenAI-compatible endpoint
custom_model = LiteLlm(
model=model_name,
base_url=api_base,
api_key=model_service_token_string,
extra_body=extra_body
)
model = custom_model
else:
# Gemini API in Agent Platform fallback
model = "gemini-3.5-flash-lite"
# Initialize the MCP Toolset with the connection parameters
bigquery_toolset = MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://bigquery.googleapis.com/mcp",
headers={
"Authorization": f"Bearer {application_default_credentials.token}",
"x-goog-user-project": project_id, # This is used for billing
},
tool_filter=[
'get_dataset_info',
'list_table_ids',
'get_table_info',
# Using readonly is a security measure to prevent accidental data modification.
'execute_sql_readonly',
]
)
)
# Configure the agent
system_instruction = f"""
You are a helpful assistant that can answer questions about data in BigQuery.
To answer the user's question, use data you have access to by using tools `list_table_ids` and `get_table_info`.
Your data is in `bigquery-public-data.new_york_citibike` dataset
(Citi Bike trips and stations in the NYC area.
It includes trip records starting from September 2013 and is updated daily.)
Plan of action:
0. ALWAYS start by analyzing dataset.
1. Analyze your data, investigate schema and dimensions by querying distrinct values of columns using `execute_sql_readonly`.
Output information about tables, columns, their data types and sets of values (for dimensions).
Note which columns can be joined or used in aggregations/filters, and what type conversion may be needed for joining or aggregating.
DO NOT MAKE ASSUMPTIONS ABOUT DATA (structure, type, values, relationships) BASED ON YOUR PRIOR KNOWLEDGE. ALWAYS VERIFY YOUR ASSUMPTIONS.
2. Understand and interpret the user's question.
3. Formulate a plan to answer the user's question.
4. Write a SQL query to retrieve relevant data in necessary form.
This is where you must pay extra attention to column types and dimensions' sets of values.
5. Retrieve data by generating BigQuery SQL and using `execute_sql_readonly`.
Always use Dry Run to verify SQL correctness.
Use `{project_id}` to run BigQuery queries (`project_id` parameter of `execute_sql_readonly`).
Do not use LaTeX in your responses. When giving a final answer, use Markdown.
"""
root_agent = LlmAgent(
model=model,
name="data_agent",
instruction=system_instruction,
description="A helpful assistant that can answer questions using NYC Citibike data.",
tools=[bigquery_toolset]
)
Для развертывания ADK также требуются __init__.py и requirements.txt :
- В файле
__init__.pyнеобходимо импортировать агента. - В файле
requirements.txtперечислены зависимости Python:google-adkдля Agent Development Kit,litellmдля библиотеки LiteLLM, которую ADK использует для работы с моделями, отличными от Gemini, иmcpдля клиента Model Context Protocol.
Эти команды помогут вам создать __init__.py и requirements.txt :
echo "from . import agent" > data_agent/__init__.py
echo -e "google-adk==2.4.*\nlitellm\nmcp==1.29.*" > data_agent/requirements.txt
Итоговая структура папок должна выглядеть следующим образом:
data_agent/
__init__.py
agent.py
requirements.txt
Попробуйте связаться с местным агентом.
В состав Agent Development Kit входит инструмент adk CLI — интерактивный терминальный интерфейс для тестирования ваших агентов. Это полезно для быстрого тестирования, скриптовых взаимодействий и конвейеров CI/CD. Одна из его функций — adk web — веб-интерфейс ADK — простой способ интерактивной разработки и отладки ваших агентов. ADK Web не предназначен для использования в производственных средах, но значительно упрощает тестирование агентов.
Эта команда запускает adk web , который создает локальный веб-сервер на порту 8080.
export API_BASE=$(gcloud run services describe $SERVICE_NAME \
--project $GOOGLE_CLOUD_PROJECT \
--region $GOOGLE_CLOUD_REGION \
--format 'value(status.url)')
# If Gemma 4 deployment failed, use Gemini fallback
if [[ "${API_BASE}" == "" ]]; then
export GOOGLE_GENAI_USE_ENTERPRISE=true
else
export GOOGLE_GENAI_USE_ENTERPRISE=false
fi
uv tool run --with litellm,"mcp==1.29.*" --from "google-adk[mcp]==2.4.*" adk web --allow_origins="*" --port 8080 .
После запуска службы откройте локальную веб-страницу ADK: http://localhost:8080/.
Если вы используете Google Cloud Shell , нажмите «Предварительный просмотр веб-страницы». кнопка.
В веб-интерфейсе ADK запросите у агента информацию о данных, к которым у него есть доступ:
What data do you have?
Код агента будет использовать модель Gemma 4, развернутую в Cloud Run. Модель будет использовать инструменты BigQuery MCP для исследования набора данных Citibike. Она предоставит вам обзор доступных таблиц и полей в наборе данных Citibike.
12. Разверните агент в Cloud Run.
Эта команда развернет агент в Cloud Run с помощью ADK CLI.
export API_BASE=$(gcloud run services describe $SERVICE_NAME \
--project $GOOGLE_CLOUD_PROJECT \
--region $GOOGLE_CLOUD_REGION \
--format 'value(status.url)')
# If Gemma 4 deployment failed, use Gemini fallback
if [[ "${API_BASE}" == "" ]]; then
export GOOGLE_GENAI_USE_ENTERPRISE=true
else
export GOOGLE_GENAI_USE_ENTERPRISE=false
fi
uv tool run --from google-adk==2.4.0 \
adk deploy cloud_run \
--with_ui \
--project $GOOGLE_CLOUD_PROJECT \
--region $GOOGLE_CLOUD_REGION \
--service_name gemma4-data-agent \
--app_name data_agent \
data_agent \
-- \
--labels dev-tutorial=codelab-cloud-run-adk-bq-mcp \
--allow-unauthenticated \
--max-instances 1 \
--set-env-vars GOOGLE_GENAI_USE_ENTERPRISE=${GOOGLE_GENAI_USE_ENTERPRISE},MODEL_NAME="${MODEL_NAME}",API_BASE="${API_BASE}",GOOGLE_CLOUD_PROJECT="${GOOGLE_CLOUD_PROJECT}"
Попробуйте обратиться к агенту.
Для развертывания агента мы использовали опцию --with_ui . Она развернула агента с веб-интерфейсом ADK .
- Откройте URL-адрес агента в веб-браузере. Команда
adk deployвернет его, а также вы можете получить URL-адрес, выполнив команду `gcloud run services:
gcloud run services describe gemma4-data-agent \
--project $GOOGLE_CLOUD_PROJECT \
--region $GOOGLE_CLOUD_REGION \
--format 'value(status.url)'
- Попросите агента проанализировать имеющиеся данные о Citibike:
We have budget for 3 coffee trucks.
We want to find the best city bike stations to place our coffee trucks.
Агент должен изучить набор данных Citibike с помощью сервера BigQuery MCP, выполнить несколько SQL-запросов и получить список из 3 станций Citibike.
13. Поздравляем!
Поздравляем с завершением практического занятия!
Мы рекомендуем ознакомиться с документацией Cloud Run .
Что мы рассмотрели
- Как развернуть модель Gemma 4 на графическом процессоре RTX 6000 Pro в облачной среде
- Как настроить прямой исходящий трафик VPC и потоковую передачу данных по модели vLLM с использованием Cloud Storage для более быстрого запуска сервиса.
- Как создать и развернуть агента ИИ с помощью Agent Development Kit, использующего Gemma 4 LLM и сервер BigQuery MCP.
14. Уборка
Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этом руководстве, вы можете либо удалить проект, либо удалить отдельные ресурсы.
Вариант 1: Удалить ресурсы
Удалите службы Cloud Run.
gcloud run services delete gemma4-data-agent \
--project "${GOOGLE_CLOUD_PROJECT}" \
--region "${GOOGLE_CLOUD_REGION}" \
--quiet
gcloud run services delete $SERVICE_NAME \
--project "${GOOGLE_CLOUD_PROJECT}" \
--region "${GOOGLE_CLOUD_REGION}" \
--quiet
Удалите учетную запись службы.
gcloud iam service-accounts delete \
${SERVICE_ACCOUNT_EMAIL} \
--project "${GOOGLE_CLOUD_PROJECT}" \
--quiet
Удалите корзину облачного хранилища.
gcloud storage rm --recursive gs://$MODEL_CACHE_BUCKET
Удалите сеть и подсеть VPC.
gcloud compute networks subnets delete $VPC_SUBNET \
--region "${GOOGLE_CLOUD_REGION}" \
--project "${GOOGLE_CLOUD_PROJECT}" \
--quiet
gcloud compute networks delete $VPC_NETWORK \
--project "${GOOGLE_CLOUD_PROJECT}" \
--quiet
Вариант 2: Удалить проект
Чтобы удалить весь проект, перейдите в раздел «Управление ресурсами» , выберите проект, созданный на шаге 2, и нажмите «Удалить». Если вы удалите проект, вам потребуется изменить проекты в вашем Cloud SDK. Вы можете просмотреть список всех доступных проектов, выполнив gcloud projects list . Если вы хотите использовать командную строку, вы также можете использовать следующую команду:
gcloud projects delete ${GOOGLE_CLOUD_PROJECT}