1. Введение
В этой лабораторной работе вы будете использовать Gemini Code Assist, инструмент для совместной работы на основе искусственного интеллекта в Google Cloud. Вы познакомитесь с тем, как использовать Gemini Chat и встроенную помощь в написании кода для генерации кода, понимания кода и решения других задач программирования с помощью ИИ.
Что вы будете делать...
- Для загрузки существующего шаблона кода веб-приложения вы будете использовать IDE Cloud Shell.
- В среде разработки Cloud Shell IDE вы будете использовать Gemini Chat для задавания общих вопросов о Google Cloud.
- В среде разработки Cloud Shell IDE вы будете использовать функцию встроенной помощи в написании кода Gemini Code Assist для генерации, обобщения и завершения кода.
Что вы узнаете...
- Как использовать Gemini Code Assist для решения различных задач разработчиков, таких как генерация кода, автозавершение кода и составление краткого описания кода.
- Как использовать Cloud Assist для изучения Google Cloud.
Что вам понадобится...
- Веб-браузер Chrome
- Аккаунт Gmail
- Облачный проект с включенной функцией выставления счетов.
- Функция Gemini Code Assist включена для вашего облачного проекта.
Эта лабораторная работа предназначена для разработчиков всех уровней, включая начинающих. Хотя пример приложения написан на языке Python, вам не нужно быть знакомым с программированием на Python, чтобы понять, что происходит. Мы сосредоточимся на ознакомлении разработчиков с возможностями Gemini Code Assist.
2. Настройка
В этом разделе описано все, что вам нужно сделать, чтобы начать работу над этой лабораторной работой.
Включите функцию Cloud Assist в проекте Google Cloud.
Теперь мы включим Cloud Assist в нашем проекте Google Cloud. Выполните следующие шаги:
- Перейдите по ссылке https://console.cloud.google.com и убедитесь, что вы выбрали проект Google Cloud, с которым планируете работать в рамках этой лабораторной работы. Нажмите на значок Open Gemini, который вы видите в правом верхнем углу.

- В правой части консоли откроется окно чата Cloud Assist. Нажмите кнопку «Включить», как показано ниже. Если вы не видите кнопку «Включить» , а видите интерфейс чата, скорее всего, вы уже включили Cloud Assist для проекта и можете сразу перейти к следующему шагу.

- После включения вы можете протестировать Cloud Assist, задав один или два вопроса. Показаны несколько примеров запросов, но вы можете попробовать что-то вроде
What is Cloud Run?

Cloud Assist ответит на ваш вопрос. Вы можете нажать на кнопку.
Значок в правом верхнем углу закрывает окно чата Cloud Assist.
Включите функцию Gemini Code Assist в IDE Cloud Shell.
Для выполнения оставшейся части практического задания мы будем использовать Cloud Shell IDE — полностью управляемую среду разработки на основе Code OSS . Нам необходимо включить и настроить Code Assist в Cloud Shell IDE, шаги для этого описаны ниже:
- Перейдите по адресу ide.cloud.google.com . Возможно, потребуется некоторое время для отображения IDE, поэтому, пожалуйста, наберитесь терпения.
- Нажмите на кнопку « Cloud Code — Войти» в нижней строке состояния, как показано на рисунке. Авторизуйте плагин в соответствии с инструкциями. Если в строке состояния отображается «Cloud Code — нет проекта» , выберите этот пункт, а затем выберите конкретный проект Google Cloud из списка проектов, с которыми вы планируете работать.

- Нажмите на кнопку Gemini в правом нижнем углу, как показано на рисунке, и еще раз выберите правильный проект Google Cloud. Если вас попросят включить API Gemini для Google Cloud , сделайте это и продолжите.
- После выбора проекта Google Cloud убедитесь, что он отображается в сообщении о состоянии Cloud Code в строке состояния, а также что функция Code Assist включена справа в строке состояния, как показано ниже:

Gemini Code Assist готов к использованию!
Необязательно: если вы не видите значок Gemini в строке состояния в правом нижнем углу, вам необходимо включить Gemini в Cloud Code. Перед этим убедитесь, что Gemini включен в IDE, перейдя в раздел «Расширения Cloud Code» → «Настройки» и введя текст Gemini, как показано ниже. Убедитесь, что флажок установлен. Перезагрузите IDE. Это включит Gemini в Cloud Code, и значок Gemini в строке состояния появится в вашей IDE.

3. Создайте пример приложения.
Мы создадим тестовое приложение (приложение на Python Flask), которое будем использовать для изучения возможностей Gemini Code Assist.
Выполните следующие шаги:
- Щелкните по названию проекта Google Cloud в строке состояния ниже.

- Появится список вариантов. Выберите «Новое приложение» из списка ниже.

- Выберите приложение Cloud Run .
- Выберите шаблон приложения Python (Flask): Cloud Run .
- Сохраните новое приложение в удобном для вас месте.
- Уведомление подтверждает создание вашего приложения, и открывается новое окно с загруженным приложением, как показано ниже. Открывается файл
README.md. Вы можете закрыть это окно на данный момент.

4. Пообщайтесь с Близнецами
Начнём с того, как общаться с Gemini. Gemini доступен в качестве помощника в чате в среде разработки Cloud Shell IDE как часть расширения Cloud Code для VS Code. Вы можете вызвать его, нажав на кнопку Gemini в левой панели навигации. Найдите значок Gemini.
в левой панели навигации нажмите на нее.
Это откроет панель «Чат: Gemini» в среде разработки Cloud Shell IDE, и вы сможете пообщаться с Gemini, чтобы получить помощь по Google Cloud.

Давайте воспользуемся панелью чата Gemini, чтобы ввести запрос и посмотреть ответ от Gemini. Введите следующий запрос:
What is Cloud Run?
Gemini должен ответить с подробной информацией о Cloud Run. Подсказки — это вопросы или утверждения, описывающие необходимую вам помощь. Подсказки могут включать контекст из существующего кода, который Google Cloud анализирует для предоставления более полезных или полных ответов. Для получения дополнительной информации о написании подсказок для получения качественных ответов см. раздел «Написание более эффективных подсказок для Gemini в Google Cloud» .
Попробуйте ответить на следующие примеры вопросов или задайте свои собственные вопросы о Google Cloud:
-
What is the difference between Cloud Run and Cloud Functions? -
What services are available on Google Cloud to run containerized workloads? -
What are the best practices to optimize costs while working with Google Cloud Storage?
Обратите внимание на значок корзины вверху — это способ сбросить контекст истории чата Code Assist. Также учтите, что это взаимодействие в чате зависит от файла (или файлов), над которыми вы работаете в IDE.
5. Пояснение к коду
Чтобы повысить вашу продуктивность и свести к минимуму переключение между контекстами, Gemini Code Assist предоставляет интеллектуальные действия на основе искусственного интеллекта непосредственно в вашем редакторе кода. Когда вы выделяете код в редакторе кода, вы можете просмотреть и выбрать из списка действий, соответствующих вашему контексту.
Вы можете использовать Gemini Code Assist, чтобы лучше понимать отдельные части кода приложения. Вернитесь к приложению, которое мы создали на предыдущем шаге, и вы сможете использовать Gemini Code Assist, чтобы получить объяснение файлов и кода, доступных в вашей IDE.
- Если файлы не отображаются, на панели действий IDE нажмите «Проводник» (
). - В панели Проводника выберите Dockerfile .
- Вы можете выделить любую часть содержимого файла, щелкнув по значку лампочки (
), а затем нажмите Gemini: Объясните это . Например, выберите строку, начинающуюся с ENTRYPOINT , нажмите на значок лампочки (
), а затем нажмите Gemini: Объяснить это . Gemini сгенерирует объяснение на естественном языке о конкретном разделе Dockerfile, по которому вам нужна дополнительная информация. Gemini ответит подробностями об инструкции ENTRYPOINT . Вы узнаете, что с этой инструкцией Docker запустит файл app.pyпри запуске контейнера. - Чтобы просмотреть содержимое файла
app.py, в панели действий нажмите «Проводник» (
), а затем выберите app.py - В определении функции hello() выберите строки, по которым вы хотите получить дополнительную информацию. Затем нажмите на значок лампочки (
), затем нажмите Gemini: Объясните это . В нашем примере мы выбрали следующие две строки кода, а затем запустили действие Gemini: Объясните это действие.

- Компания Gemini предоставляет подробное объяснение этих двух переменных среды Cloud Run (
K_SERVICE, K_REVISION) и того, как они используются в коде приложения. Следует отметить, что Gemini, обладая знаниями о Google Cloud и таких сервисах, как Cloud Run, не только объяснила код на Python, но и предоставила контекст того, что означают эти переменные в Cloud Run.
Попробуйте следующие дополнительные способы получения пояснения к коду:
- Оставьте файл app.py открытым в IDE. Перейдите в панель чата Gemini в левой навигационной панели VS Code и введите запрос «Explain this file» . Это позволит рассмотреть весь файл и дать вам объяснение.
- Вы также можете выделить любую часть файла, а затем использовать панель чата Gemini слева и ввести запрос «Объясните это» . Это объяснит только выделенную часть файла. Это похоже на то, как вы нажимаете на значок лампочки.
) а затем, нажав на кнопку «Близнецы»: Объясните это. - Вы также можете выделить часть текста и нажать на кнопку Gemini: Smart Actions в правом верхнем углу IDE, как показано ниже, чтобы получить список действий, которые можно выполнить с выделенным текстом. Один из этих вариантов будет называться «Объяснить это действие»:

6. Сгенерируйте код с подсказками.
В этом разделе показано, как использовать Gemini Code Assist для генерации кода из комментариев.
Давайте опробуем эти функции. Следуйте приведенным ниже инструкциям:
- Создайте новый файл с именем
utils.py. - В новом файле с кодом на новой строке введите
# Function to print a list of blobs in a Google Cloud Storage bucket, а затем нажмитеEnter(для Windows и Linux) илиReturn(для MacOS). Gemini может попытаться сгенерировать код по мере ввода, но не примет его. Мы запустим генерацию кода на следующем шаге. - Для запуска генерации кода нажмите
Control+Enter(для Windows и Linux) илиControl+Return(для MacOS). Рядом с текстом подсказки в файле Python Gemini Code Assist сгенерирует код в виде «призрачного» текста. Он предложит вам один или несколько вариантов кода с помощью панели инструментов, по которой вы можете переходить от одного варианта кода к другому (если вариантов несколько). Вы даже можете принять любой из предложенных вариантов кода через панель инструментов. Если вы не видите панель инструментов или она исчезает, наведите курсор на сгенерированный код, чтобы она снова появилась. - Необязательно: чтобы принять сгенерированный код, нажмите клавишу
Tab. Если предлагается несколько вариантов, вы можете нажиматьTabнесколько раз, чтобы переходить от одного предложенного фрагмента кода к другому.
Это вставит принятый вами код в файл utils.py . Пример скриншота показан ниже. Предоставленный вам код может отличаться от показанного ниже. Если будут сгенерированы дополнительные методы, вы можете удалить их после принятия кода.

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

Затем вы можете проигнорировать предупреждение о цитировании, нажав на кнопку «Быстрое исправление...» . После этого отобразится предлагаемое быстрое исправление, пример которого показан ниже:

Вы можете выбрать опцию «Игнорировать предупреждение о цитировании», если согласны с условиями лицензии на использование кода.
(Необязательно) Вот еще несколько вариантов генерации кода, которые можно попробовать:
- Вы также можете использовать функцию чата Gemini, чтобы задать тот же вопрос и получить ответ в окне чата. Затем в интерфейсе чата отобразятся варианты копирования кода или вставки его в текущий файл.
- Попробуйте использовать собственные подсказки для примеров кода, которые вам нравятся. Несколько вариантов приведены ниже (при условии, что вы находитесь в одном из файлов Python): или выберите одну из предложенных ниже подсказок:
- Напишите код на Python для публикации сообщения в Google Cloud Pub/Sub.
- Напишите код на Python для инициализации клиента BigQuery.
- Напишите код на Python для подключения моего приложения к Cloud SQL.
7. Получайте подсказки в коде прямо во время написания.
Во время написания кода Gemini Code Assist предлагает варианты кода прямо в строке, которые вы можете либо принять, либо проигнорировать. Чтобы попробовать эту функцию, мы изменим файл utils.py , созданный в предыдущем разделе:
- Откройте файл
utils.pyв качестве текущего файла в среде разработки Cloud Shell. - Один из способов решения проблемы — указать правильные операторы
import, если они отсутствуют в сгенерированном коде. - Начните вводить слово
import, и вы увидите, как Gemini Code Assist предлагает варианты кода в виде невидимого текста. Чтобы принять предложенный Gemini Code Assist код, нажмитеTab. В противном случае, чтобы проигнорировать предложение, нажмитеEscили продолжайте писать код. На приведенном ниже примере предлагается импортировать классstorage, поскольку он используется в коде. НажмитеTab, чтобы принять предложенный код. Также предлагается операторimport os, но поскольку он не нужен, мы можем его удалить.

- Перейдите в конец файла
utils.pyи добавьте строку для вызова функции, если она не указана. В данном случае это функцияprint_blobs. Вы можете просто начать вводить имя функции, и автозаполнение кода поможет вам завершить оператор. - Вам потребуется указать bucket_name, и вы можете использовать следующее общедоступное имя корзины:
gemini-codeassist-bucket. Пример вызова функции показан ниже. Обратите внимание, что вы можете заметить незначительные различия в названиях функций и т. д.
print_blobs(bucket_name="gemini-codeassist-bucket")
(Необязательно) Запустите пример кода
Поскольку мы написали код для вывода списка больших двоичных объектов в хранилище Google Cloud Storage, нам потребуется установить библиотеку Python google-cloud-storage .
Перейдите к файлу requirements.txt и добавьте новую строку с зависимостью google-cloud-storage как показано ниже. Пример файла requirements.txt приведен ниже.
Flask==2.3.3 requests==2.31.0 debugpy # Required for debugging. google-cloud-storage
Сохраните файл requirements.txt .
Чтобы увидеть код в действии, нам нужно будет запустить новую сессию Терминала из Cloud Shell IDE через значок меню в верхнем левом углу. Щелкните значок меню, а затем выберите Терминал → Новый Терминал, как показано ниже:

В терминале установите зависимости Python с помощью следующей команды:
pip3 install -r requirements.txt
Наконец, вы можете запустить файл utils.py с помощью следующей команды:
python utils.py
В результате должны отобразиться двоичные файлы, находящиеся в общедоступном хранилище Google Cloud Storage. В идеале в выводе должны быть указаны два двоичных файла ( file1.txt и file2.txt ).
Поиск неисправностей
В случае возникновения ошибки доступа при отображении объектов в указанном выше общедоступном хранилище, вы можете создать собственное хранилище Google Cloud Storage и использовать его вместо gemini-codeassist-bucket . В следующем разделе показано, как это сделать.
(Необязательно) Создайте собственное хранилище Cloud Storage.
Давайте воспользуемся помощью Gemini, чтобы получить команды для создания хранилища (bucket), обеспечения к нему публичного доступа и загрузки в него образцов объектов.
Начните с следующего вопроса: «Какая команда gcloud используется для создания общедоступного хранилища (bucket) в Google Cloud Storage?»
Это должно предоставить вам команду gcloud для создания хранилища (bucket). Точная команда показана ниже:
gcloud storage buckets create gs://<BUCKET_NAME>
Выберите уникальное имя для <BUCKET_NAME> и выполните команду в терминале.
Теперь, когда мы создали хранилище, мы хотим сделать его общедоступным. Давайте запросим у Gemini команду для этого, используя следующий запрос: "Как сделать хранилище Google Cloud Storage общедоступным?"
Это должно предоставить вам команду gcloud для того, чтобы сделать его общедоступным. Ответ должен выглядеть примерно так:
gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer
Замените <BUCKET_NAME> на имя корзины, которое вы использовали ранее, и выполните команду.
Наконец, мы хотели бы загрузить несколько примеров файлов в хранилище. Выполните следующие команды в терминале (не забудьте заменить переменную <BUCKET_NAME> именем вашего хранилища).
touch f1.txt touch f2.txt gcloud storage cp f1.txt gs://<BUCKET_NAME> gcloud storage cp f2.txt gs://<BUCKET_NAME>
Теперь вы можете запустить файл utils.py , используя <BUCKET_NAME> вместо gemini-codeassist-bucket .
Уборка
Если вы создали собственное хранилище Google Cloud Storage, мы настоятельно рекомендуем удалить его, чтобы избежать каких-либо сборов и потенциальных рисков безопасности.
Удалить корзину можно с помощью приведенной ниже команды:
gcloud storage buckets delete gs://<BUCKET_NAME>
8. Поздравляем!
Поздравляем! Вы успешно поработали с Gemini Code Assist над тестовым проектом, чтобы понять, как он может помочь в генерации кода, автозаполнении кода, составлении сводных таблиц кода и помочь вам получить ответы на вопросы о Google Cloud.