Ускоренная разработка на основе данных с помощью MCP Toolbox для AlloyDB с использованием Gemini CLI в Cloud Run

1. Обзор

Помните наш опыт создания динамичного гибридного решения для розничной торговли с помощью AlloyDB, сочетающего фасетную фильтрацию и векторный поиск ? Это приложение наглядно продемонстрировало потребности современной розничной торговли, но достижение этой цели и её дальнейшее развитие потребовало значительных усилий. Для разработчиков полного цикла постоянный обмен данными между редакторами кода и инструментами для работы с базами данных часто становится узким местом, замедляя внедрение инноваций и важнейший процесс понимания данных.

Решение

Именно здесь по-настоящему раскрывается потенциал ускоренной разработки приложений, и именно поэтому я так рад рассказать, как набор инструментов MCP (Modern Cloud Platform), доступный через интуитивно понятный интерфейс командной строки Gemini, стал неотъемлемой частью моего инструментария. Представьте себе беспрепятственное взаимодействие с экземпляром AlloyDB, написание запросов и анализ набора данных — и всё это прямо в интегрированной среде разработки (IDE). Речь идёт не только об удобстве, но и о принципиальном снижении сложности жизненного цикла разработки, что позволяет вам сосредоточиться на создании инновационных функций, а не на борьбе с внешними инструментами.

В контексте нашего приложения для электронной коммерции, где нам требовалось эффективно запрашивать данные о товарах, обрабатывать сложную фильтрацию и использовать все тонкости векторного поиска, возможность быстрой итерации взаимодействия с базой данных имела первостепенное значение. MCP Toolbox на базе Gemini CLI не только упрощает этот процесс, но и ускоряет его, преобразуя способы исследования, тестирования и доработки логики базы данных, лежащей в основе наших приложений. Давайте разберёмся, как это революционное сочетание делает разработку полного стека быстрее, эффективнее и увлекательнее.

Что вы узнаете и построите

Приложение для поиска товаров в розничной торговле, использующее MCP Toolbox в IDE на базе Gemini CLI. Мы рассмотрим:

  1. Как интегрировать MCP Toolbox непосредственно в вашу IDE для бесперебойного взаимодействия с AlloyDB.
  2. Практические примеры использования Gemini CLI для написания и выполнения SQL-запросов к данным розничной торговли.
  3. Используйте Gemini CLI для взаимодействия с нашим набором данных розничной электронной коммерции, создавая запросы, для которых обычно требуются отдельные инструменты, и мгновенно просматривая результаты.
  4. Откройте для себя новые способы исследования и понимания данных — от проверки структур таблиц до выполнения быстрых проверок корректности данных — и все это через знакомые интерфейсы командной строки в нашей IDE.
  5. Как этот ускоренный рабочий процесс базы данных напрямую способствует ускорению циклов комплексной разработки, обеспечивая быстрое прототипирование и итерацию.

Техстек

Мы используем:

  • AlloyDB для базы данных
  • MCP Toolbox для абстрагирования расширенных генеративных и ИИ-функций баз данных из приложения
  • Cloud Run для бессерверного развертывания.
  • Gemini CLI для понимания и анализа набора данных и создания части базы данных приложения электронной коммерции.

Требования

  • Браузер, например Chrome или Firefox
  • Проект Google Cloud с включенным биллингом.

2. Прежде чем начать

Создать проект

  1. В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud.
  2. Убедитесь, что для вашего облачного проекта включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта .

Для кредитов Google Cloud: если вы хотите получить кредиты Google Cloud для начала работы, воспользуйтесь этой ссылкой для погашения кредитов. Инструкции по погашению кредитов приведены здесь .

  1. Вы будете использовать Cloud Shell — среду командной строки, работающую в Google Cloud. Нажмите «Активировать Cloud Shell» в верхней части консоли Google Cloud.

Изображение кнопки «Активировать Cloud Shell»

  1. После подключения к Cloud Shell вы проверяете, что вы уже прошли аутентификацию и что проекту присвоен ваш идентификатор проекта, с помощью следующей команды:
gcloud auth list
  1. Выполните следующую команду в Cloud Shell, чтобы подтвердить, что команда gcloud знает о вашем проекте.
gcloud config list project
  1. Если ваш проект не настроен, используйте следующую команду для его настройки:
gcloud config set project <YOUR_PROJECT_ID>
  1. Включите необходимые API: Перейдите по ссылке и включите API.

В качестве альтернативы вы можете использовать команду gcloud. Подробности о командах и использовании gcloud см. в документации .

3. Настройка базы данных

В этой лабораторной работе мы будем использовать AlloyDB в качестве базы данных для данных электронной коммерции. Она использует кластеры для хранения всех ресурсов, таких как базы данных и журналы. Каждый кластер имеет основной экземпляр , обеспечивающий точку доступа к данным. Сами данные будут храниться в таблицах.

Давайте создадим кластер, экземпляр и таблицу AlloyDB, куда будет загружен набор данных электронной коммерции.

Создать кластер и экземпляр

  1. Перейдите на страницу AlloyDB в Cloud Console. Большинство страниц в Cloud Console легко найти, используя строку поиска в консоли.
  2. Выберите СОЗДАТЬ КЛАСТЕР на этой странице:

f76ff480c8c889aa.png

  1. Вы увидите экран, подобный показанному ниже. Создайте кластер и экземпляр со следующими значениями (убедитесь, что значения совпадают, если вы клонируете код приложения из репозитория):
  • идентификатор кластера : " vector-cluster "
  • пароль : " alloydb "
  • PostgreSQL 15 / последняя рекомендуемая версия
  • Region : " us-central1 "
  • Сетевое подключение : " default "

538dba58908162fb.png

  1. При выборе сети по умолчанию вы увидите экран, подобный показанному ниже.

Выберите НАСТРОЙКА ПОДКЛЮЧЕНИЯ .

7939bbb6802a91bf.png

  1. Далее выберите « Использовать автоматически назначенный диапазон IP-адресов » и нажмите «Продолжить». После ознакомления с информацией нажмите «СОЗДАТЬ ПОДКЛЮЧЕНИЕ». 768ff5210e79676f.png
  2. После настройки сети вы можете продолжить создание кластера. Нажмите «СОЗДАТЬ КЛАСТЕР» , чтобы завершить настройку кластера, как показано ниже:

e06623e55195e16e.png

ВАЖНОЕ ПРИМЕЧАНИЕ:

  1. Обязательно измените идентификатор экземпляра (который вы можете найти во время настройки кластера/экземпляра) на ** vector-instance **. Если изменить его невозможно, не забудьте **использовать идентификатор экземпляра** во всех последующих ссылках.
  2. Обратите внимание, что создание кластера займёт около 10 минут. После успешного завершения вы увидите экран с обзором только что созданного кластера.

4. Прием данных

Теперь пора добавить таблицу с данными о магазине. Перейдите в AlloyDB, выберите основной кластер, а затем AlloyDB Studio:

847e35f1bf8a8bd8.png

Возможно, вам придётся дождаться завершения создания вашего экземпляра. После этого войдите в AlloyDB, используя учётные данные, которые вы создали при создании кластера. Для аутентификации в PostgreSQL используйте следующие данные:

  • Имя пользователя: " postgres "
  • База данных: " postgres "
  • Пароль: " alloydb "

После успешной аутентификации в AlloyDB Studio команды SQL вводятся в редакторе. Вы можете добавить несколько окон редактора, нажав на значок «плюс» справа от последнего окна.

91a86d9469d499c4.png

Вы будете вводить команды для AlloyDB в окнах редактора, используя при необходимости параметры «Выполнить», «Форматировать» и «Очистить».

Включить расширения

Для создания этого приложения мы будем использовать расширения pgvector и google_ml_integration . Расширение pgvector позволяет хранить и искать векторные представления. Расширение google_ml_integration предоставляет функции для доступа к конечным точкам прогнозирования Vertex AI для получения прогнозов в SQL. Включите эти расширения, выполнив следующие DDL-файлы:

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
CREATE EXTENSION IF NOT EXISTS vector;

Если вы хотите проверить расширения, включенные в вашей базе данных, выполните следующую команду SQL:

select extname, extversion from pg_extension;

Создать таблицу

Вы можете создать таблицу, используя приведенный ниже оператор DDL в AlloyDB Studio:

CREATE TABLE apparels ( 
  id BIGINT, 
  category VARCHAR(100), 
  sub_category VARCHAR(50), 
  uri VARCHAR(200), 
  gsutil_uri VARCHAR(200),
  image VARCHAR(100), 
  content VARCHAR(2000), 
  pdt_desc VARCHAR(5000), 
  color VARCHAR(2000),
  gender VARCHAR(200),
  embedding vector(768),
  img_embeddings vector(1408),
  additional_specification VARCHAR(100000));

Встраиваемый столбец позволит хранить векторные значения текста.

Предоставить разрешение

Выполните указанный ниже оператор, чтобы предоставить разрешение на выполнение функции «встраивания»:

GRANT EXECUTE ON FUNCTION embedding TO postgres;

Предоставьте роль пользователя Vertex AI учетной записи службы AlloyDB.

В консоли Google Cloud IAM предоставьте учётной записи сервиса AlloyDB (которая выглядит так: service-<<PROJECT_NUMBER>>@gcp-sa-alloydb.iam.gserviceaccount.com) доступ к роли «Пользователь Vertex AI». PROJECT_NUMBER будет содержать номер вашего проекта.

В качестве альтернативы вы можете выполнить следующую команду из терминала Cloud Shell:

PROJECT_ID=$(gcloud config get-value project)


gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" \
--role="roles/aiplatform.user"

Загрузить данные в базу данных

  1. Скопируйте операторы запроса на insert из insert scripts sql в указанной выше таблице в редактор. Вы можете скопировать 10–50 операторов для быстрой демонстрации этого варианта использования. Список выбранных вставок представлен на вкладке «Выбранные вставки 25–30 строк» .
  2. Нажмите кнопку «Выполнить» . Результаты запроса появятся в таблице «Результаты» .

ВАЖНОЕ ПРИМЕЧАНИЕ:

Обязательно скопируйте только 25–50 записей для вставки и убедитесь, что они относятся к разным категориям, подкатегориям, цветам и гендерным типам.

5. Создайте вложения для данных.

Настоящая инновация современного поиска заключается в понимании смысла, а не только ключевых слов. Именно здесь в игру вступают вложения и векторный поиск.

Мы преобразовали описания продуктов и запросы пользователей в многомерные числовые представления, называемые «эмбеддингами», используя предварительно обученные языковые модели. Эти эмбеддинги отражают семантическое значение, позволяя нам находить продукты, «сходные по значению», а не просто содержащие совпадающие слова. Изначально мы экспериментировали с прямым поиском векторного сходства на этих эмбеддингах, чтобы определить базовый уровень, продемонстрировав эффективность семантического понимания ещё до оптимизации производительности.

Столбец «embedding» позволяет хранить векторные значения текста описания товара. Столбец «img_embeddings» позволяет хранить вложения изображений (мультимодальные). Таким образом, вы также можете использовать текст для поиска по расстоянию между изображениями. Но в этой лабораторной работе мы будем использовать только вложения текста.

SELECT embedding('text-embedding-005', 'AlloyDB is a managed, cloud-hosted SQL database service.');

Этот метод должен вернуть вектор вложений, который выглядит как массив чисел с плавающей точкой, для образца текста в запросе. Выглядит это примерно так:

25a1d7ef0e49e91e.png

Обновите векторное поле abstract_embeddings

Запустите приведенный ниже DML-код, чтобы обновить описание содержимого в таблице с соответствующими внедрениями:

UPDATE apparels SET embedding = embedding('text-embedding-005',pdt_desc)::vector 
WHERE pdt_desc IS NOT NULL;

При использовании пробной учётной записи Google Cloud с оплатой кредита могут возникнуть проблемы с генерацией большего количества вложений (например, максимум 20–25). Поэтому ограничьте количество строк в скрипте вставки.

Если вы хотите сгенерировать вставки изображений (для выполнения мультимодального контекстного поиска), запустите также следующее обновление:

update apparels set img_embeddings = ai.image_embedding(
  model_id => 'multimodalembedding@001',
  image => gsutil_uri,
  mimetype => 'image/jpg')       
where gsutil_uri is not null

6. Набор инструментов MCP для баз данных (AlloyDB)

Надежные инструменты и четко структурированное приложение обеспечивают бесперебойную работу.

Набор инструментов MCP (Model Context Protocol) для баз данных упрощает интеграцию инструментов генеративного ИИ и агентных инструментов с AlloyDB. Он действует как сервер с открытым исходным кодом, оптимизирующий пул соединений, аутентификацию и безопасный доступ к функциям базы данных агентам ИИ или другим приложениям.

В нашем приложении мы использовали MCP Toolbox for Databases в качестве уровня абстракции для всех наших интеллектуальных гибридных поисковых запросов.

Чтобы настроить и развернуть Toolbox для нашего варианта использования, выполните следующие действия:

Вы видите, что одной из баз данных, поддерживаемых MCP Toolbox for Databases, является AlloyDB, и поскольку мы уже подготовили ее в предыдущем разделе, давайте продолжим и настроим Toolbox.

  1. Перейдите в терминал Cloud Shell и убедитесь, что ваш проект выбран и отображается в строке запроса. Выполните следующую команду в терминале Cloud Shell, чтобы перейти в каталог вашего проекта:
mkdir gemini-cli-project

cd gemini-cli-project
  1. Выполните следующую команду, чтобы загрузить и установить toolbox в новую папку:
# see releases page for other versions
export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

Это должно создать набор инструментов в текущем каталоге. Скопируйте путь к набору инструментов.

  1. Перейдите в редактор Cloud Shell (для режима редактирования кода) и в корневой папке проекта «gemini-cli-project» добавьте файл с именем «tools.yaml».
sources:
    alloydb:
        kind: "alloydb-postgres"
        project: "<<YOUR_PROJECT_ID>>"
        region: "us-central1"
        cluster: "vector-cluster"
        instance: "vector-instance"
        database: "postgres"
        user: "postgres"
        password: "alloydb"


tools:
   get-apparels:
    kind: postgres-sql
    source: alloydb
    description: Get all apparel data.
    statement: |
      select id, content, uri, category, sub_category,color,gender from apparels;

Давайте разберемся с tools.yaml:

Источники представляют собой различные источники данных, с которыми может взаимодействовать инструмент. Источник представляет собой источник данных, с которым может взаимодействовать инструмент. Вы можете определить источники как карту в разделе источников файла tools.yaml. Как правило, конфигурация источника содержит всю информацию, необходимую для подключения к базе данных и взаимодействия с ней.

Инструменты определяют действия, которые может выполнять агент, например, чтение и запись в источник. Инструмент представляет собой действие, которое может выполнить ваш агент, например, выполнение SQL-оператора. Вы можете определить инструменты как карту в разделе инструментов файла tools.yaml. Как правило, для работы с инструментом требуется источник.

Более подробную информацию о настройке tools.yaml см. в этой документации .

Как видно из файла Tools.yaml выше, инструмент «get-apparels» выводит список всех сведений об одежде из базы данных.

7. Настройте Gemini CLI

В редакторе Cloud Shell создайте новую папку с именем .gemini внутри папки gemini-cli-project и создайте в ней новый файл с именем settings.json .

{
  "mcpServers": {
"AlloyDBServer": {
  "command": "/home/user/gemini-cli-project/toolbox",
  "args": ["--tools-file", "tools.yaml", "--stdio"]
}
  }
}

В разделе команд во фрагменте выше замените « /home/user/gemini-cli-project/toolbox » на ваш путь к toolbox.

Установить Gemini CLI

Наконец, из Cloud Shell Terminal давайте установим Gemini CLI в тот же каталог gemini-cli-project, выполнив команду:

sudo npm install -g @google/gemini-cli

Установите идентификатор вашего проекта

Убедитесь, что в среде установлен идентификатор активного проекта:

export GOOGLE_CLOUD_PROJECT=<<YOUR_PROJECT_ID>>

Начните работу с Gemini CLI

В командной строке введите команду:

gemini

Вы должны увидеть ответ, подобный приведенному ниже:

94f16dd7b5e2ca77.png

Выполните аутентификацию и перейдите к следующему шагу.

8. Начните взаимодействовать с Gemini CLI

Используйте команду /mcp для вывода списка настроенных серверов MCP.

83e1c54ec68add5c.png

Вы должны увидеть два настроенных нами сервера MCP: GitHub и MCP Toolbox for Databases, а также их инструменты.

84b59c3027d370e2.png

В моём случае инструментов больше. Так что пока не обращайте на это внимания. Вы должны увидеть инструмент get-apparels на вашем MCP-сервере AlloyDB.

Начните выполнять запросы к базе данных через MCP Toolbox

Теперь попробуйте задавать вопросы на естественном языке, чтобы получить ответы и запросы для набора данных, с которым мы работаем:

> How many types of genders the apparel dataset has?

ae24caa625ef871b.png

> Give me the SQL that I can use to find the number of apparels that are footwear 

b75da65679031c7.png

> What are the unique sub categories that are there?
that I can use to find the number of apparels that are footwear 

c04fd9e113a4ed95.png

Предположим, основываясь на своих знаниях и множестве подобных запросов, я составил подробный запрос и хочу его протестировать. Или, предположим, инженеры баз данных уже создали для вас Tools.yaml, как показано ниже:

sources:
    alloydb:
        kind: "alloydb-postgres"
        project: "<<YOUR_PROJECT_ID>>"
        region: "us-central1"
        cluster: "vector-cluster"
        instance: "vector-instance"
        database: "postgres"
        user: "postgres"
        password: "alloydb"

tools:
   get-apparels:
    kind: postgres-sql
    source: alloydb
    description: Get all apparel data.
    statement: |
      select id, content, uri, category, sub_category,color,gender from apparels;

   filtered-vector-search:
    kind: postgres-sql
    source: alloydb
    description: Get the list of facet filter values from the retail dataset.
    parameters:
      - name: categories
        type: array
        description: List of categories preferred by the user.
        items:
          name: category 
          type: string
          description: Category value. 
      - name: subCategories
        type: array
        description: List of sub-categories preferred by the user.
        items:
          name: subCategory 
          type: string
          description: Sub-Category value.
      - name: colors
        type: array
        description: List of colors preferred by the user.
        items:
          name: color 
          type: string
          description: Color value.
      - name: genders
        type: array
        description: List of genders preferred by the user for apparel fitting.
        items:
          name: gender 
          type: string
          description: Gender name.
      - name: searchtext
        type: string
        description: Description of the product that the user wants to find database matches for.    
    statement: |
      SELECT id, content, uri, category, sub_category,color,gender FROM apparels 
      where category = ANY($1) and sub_Category = ANY($2) and color = ANY($3) and gender = ANY($4)
      order by embedding <=> embedding('text-embedding-005',$5)::vector limit 10

Теперь попробуем поиск на естественном языке:

> How many yellow shirts are there for boys?

5c3890cf69e3dacb.png

4ec79f49b2eaebbd.png

Круто, правда? Теперь я могу исправить YAML-файл для дальнейшего улучшения запросов, одновременно продолжая добавлять новые функции в своё приложение в ускоренном режиме.

9. Ускоренная разработка приложений

Преимущество внедрения возможностей базы данных непосредственно в вашу IDE через Gemini CLI и MCP Toolbox не просто теоретическое. Оно воплощается в реальные, ускоряющие рабочие процессы, особенно для таких сложных приложений, как наша гибридная розничная сеть. Давайте рассмотрим несколько сценариев:

1. Быстрая итерация логики фильтрации продуктов

Представьте, что мы только что запустили новую акцию на «летнюю спортивную одежду». Мы хотим проверить, как наши многогранные фильтры (например, по бренду, размеру, цвету, ценовому диапазону) взаимодействуют с этой новой категорией.

Без интеграции с IDE:

Скорее всего, я бы переключился на отдельный SQL-клиент, написал запрос, выполнил его, проанализировал результаты, вернулся в IDE, чтобы скорректировать код приложения, снова переключился бы на клиент и повторил всё сначала. Это переключение контекста — серьёзная проблема.

С Gemini CLI и MCP:

Я могу оставаться в своей IDE и делать больше:

  • Запрос: я могу быстро обновить запрос в yaml с помощью (гипотетического набора данных) «ВЫБРАТЬ ОТДЕЛЬНЫЙ бренд ИЗ продуктов, ГДЕ категория = 'активная одежда' И сезон = 'лето'» и попробовать его прямо в своем терминале.
  • Исследование данных: Мгновенно просматривайте возвращаемые бренды. Если мне нужно узнать наличие товара определённого бренда и размера, это можно сделать с помощью ещё одного быстрого запроса: «SELECT COUNT(*) FROM products WHERE brand = 'SummitGear' AND size = 'M' AND category = 'activewear' AND season = 'summer'».
  • Интеграция кода: Затем я могу немедленно скорректировать логику фильтрации на внешнем интерфейсе или вызовы API на внутреннем интерфейсе на основе этих быстрых аналитических данных в IDE, что значительно сокращает цикл обратной связи.

2. Тонкая настройка векторного поиска для рекомендаций продуктов

Наш гибридный поиск использует векторные вставки для релевантных рекомендаций по товарам. Допустим, мы наблюдаем падение CTR по запросу «мужские кроссовки».

Без интеграции с IDE:

Я бы запускал пользовательские скрипты или запросы в инструменте базы данных, чтобы проанализировать показатели схожести рекомендуемой обуви, сравнить их с данными о взаимодействии с пользователем и попытаться выявить любые закономерности.

С Gemini CLI и MCP:

  • Анализ вложений: я могу напрямую запросить вложения продуктов и связанные с ними метаданные: «SELECT product_id, name, vector_embedding FROM products WHERE category = 'кроссовки' AND gender = 'мужской' LIMIT 10»
  • Перекрёстные ссылки: я также могу быстро проверить фактическое векторное сходство между выбранным товаром и его рекомендациями прямо здесь и сейчас. Например, если товар A рекомендован пользователям, которые смотрели товар B, я могу выполнить запрос для извлечения и сравнения их векторных представлений.
  • Отладка: Это позволяет ускорить отладку и проверку гипотез. Ведёт ли себя модель встраивания так, как ожидалось? Есть ли аномалии в данных, влияющие на качество рекомендаций? Я могу получить первоначальные ответы, не покидая среду программирования.

3. Понимание схемы и распределения данных для новых функций

Предположим, мы планируем добавить функцию «отзывы клиентов». Прежде чем писать API бэкенда, нам нужно понять существующие данные клиентов и то, как могут быть структурированы отзывы.

Без интеграции с IDE:

Мне нужно будет подключиться к клиенту базы данных, выполнить команды DESCRIBE для таких таблиц, как клиенты и заказы, а затем запросить образцы данных, чтобы понять взаимосвязи и типы данных.

С Gemini CLI и MCP:

  • Исследование схемы: я могу просто выполнить запрос к таблице в файле yaml и выполнить его непосредственно в терминале.
  • Выборка данных: затем я могу извлечь выборку данных, чтобы понять демографические данные клиентов и историю покупок: «ВЫБРАТЬ customer_id, имя, signup_date, total_orders FROM customers ORDER BY signup_date DESC LIMIT 5»
  • Планирование: Этот быстрый доступ к схеме и распределению данных помогает нам принимать обоснованные решения о том, как разработать новую таблицу отзывов, какие внешние ключи установить и как эффективно связать отзывы с клиентами и продуктами, и все это до того, как мы напишем хотя бы одну строку кода приложения для новой функции.

Это всего лишь несколько примеров, но они подчёркивают основное преимущество: снижение сложности и повышение скорости разработки. Благодаря интеграции с AlloyDB непосредственно в IDE, Gemini CLI и MCP Toolbox позволяют нам быстрее создавать более качественные и отзывчивые приложения.

10. Уборка

Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этой публикации, выполните следующие действия:

  1. В консоли Google Cloud перейдите на страницу менеджера ресурсов .
  2. В списке проектов выберите проект, который вы хотите удалить, а затем нажмите Удалить .
  3. В диалоговом окне введите идентификатор проекта, а затем нажмите кнопку «Завершить» , чтобы удалить проект.
  4. В качестве альтернативы вы можете просто удалить кластер AlloyDB (измените местоположение в этой гиперссылке, если вы не выбрали us-central1 для кластера во время настройки), который мы только что создали для этого проекта, нажав кнопку УДАЛИТЬ КЛАСТЕР.

11. Поздравления

Поздравляем! Вы успешно интегрировали MCP Toolbox непосредственно в свою IDE для бесперебойного взаимодействия с AlloyDB и использовали Gemini CLI для работы с нашим набором данных розничной электронной коммерции, чтобы писать запросы, для которых обычно требуются отдельные инструменты. Вы освоили новые способы анализа и понимания данных — от проверки структуры таблиц до быстрой проверки корректности данных — всё это через знакомые интерфейсы командной строки в нашей IDE.

Продолжайте, клонируйте репозиторий , проанализируйте и дайте мне знать, улучшили ли вы приложение с помощью Gemini CLI и MCP Toolbox for Databases.

Чтобы получить больше приложений, управляемых данными, созданных с помощью Gemini CLI, MCP и развернутых в бессерверных средах выполнения, зарегистрируйтесь на наш предстоящий сезон Code Vipassana , где вы получите практические занятия под руководством инструктора и еще больше подобных кодовых лабораторий!!!