1. Прежде чем начать
Этот самостоятельный практический курс проведет вас через процесс создания агентов искусственного интеллекта с помощью Vertex AI Agent Builder от Google Cloud. На каждом шаге будет рассмотрена конкретная функция Agent Builder и объяснено ее назначение.
Предварительные требования
- Базовое понимание генеративного ИИ в Google Cloud.
- Базовое понимание концепций агентов искусственного интеллекта .
- Базовое понимание Gemini CodeAssist (необязательно)
Что вы узнаете
- Как создать простого ИИ-агента с помощью Vertex AI Agent Builder
- Как заземлить созданного агента, подключив к нему хранилище данных?
- Как интегрировать AI Agent на ваш сайт (необязательно)
Что вам понадобится
- Любознательный ум
- Рабочий компьютер и надежный Wi-Fi.
- Проект в Google Cloud с возможностью выставления счетов.
Примечание: Если у вас еще нет проекта в Google Cloud, вы можете создать его, следуя инструкциям . Вы также можете ознакомиться с бесплатными сервисами Google Cloud .
2. Разработка вашего первого ИИ-агента
Теперь вы готовы создать собственного ИИ-агента. Но прежде чем приступить к разработке, важно четко определить видение вашего агента. Задайте себе следующие ключевые вопросы:
- Какую проблему оно решит? Будет ли оно автоматизировать задачи, предоставлять информацию, предлагать развлечения или способствовать творческому поиску?
- Каковы его основные функции? Будет ли он выполнять задачи или делегировать задачи? Будет ли он генерировать текст или комбинацию различных медиафайлов?
- Каковы его ограничения? Сможет ли он делать всё автономно?
- Каким должен быть его характер или образ? Будет ли он формальным, неформальным, юмористическим, полезным или информативным?
- Каковы показатели успеха? Как вы будете измерять эффективность работы агента?
Чтобы ускорить процесс, вот ответы на эти вопросы для туристического агента, с которым вы будете работать сегодня:
- Какую проблему это решит?
- Планирование поездки может быть трудоемким и сложным процессом. Этот туристический агент поможет пользователям найти подходящие места, спланировать маршруты, забронировать авиабилеты и жилье.
- Каковы его основные функции?
- Агент должен уметь
- отвечать на вопросы о местах назначения, например, о визовых требованиях
- Составляйте маршруты, которые соответствуют расписанию и целям пользователей.
- забронировать авиабилеты и проживание
- В чём заключаются его ограничения?
- По умолчанию агент может быть не в состоянии отвечать на сложные запросы.
- Агент не сможет генерировать визуальные изображения.
- Знания агента будут ограничены базовой моделью.
- Какой личностью или характером оно должно обладать?
- Этот агент должен быть знающим, отзывчивым и увлеченным путешествиями. Он должен уметь четко и лаконично доносить информацию.
- Каковы показатели успеха?
- Успех этого агентства можно измерить по тому, насколько пользователи удовлетворены его рекомендациями (по изучению, планированию, бронированию).
3. Создание ИИ-агента с помощью Vertex AI Agent Builder
С помощью Vertex AI Agent Builder создание агентов искусственного интеллекта занимает всего несколько шагов.
Шаг 1:
- Перейдите на сайт Vertex AI Agent Builder .
- Вы должны увидеть приветственную страницу.

- Нажмите кнопку «ПРОДОЛЖИТЬ И АКТИВИРОВАТЬ API» .
Шаг 2:
- Вы будете перенаправлены на страницу создания приложения.

- Нажмите кнопку « СОЗДАТЬ НОВОЕ ПРИЛОЖЕНИЕ» .
Шаг 3:
- Выберите «Разговорный агент» и нажмите «СОЗДАТЬ».

Примечание:
- После нажатия кнопки «СОЗДАТЬ» откроется новая вкладка «Разговорные агенты Diaglogflow» .
- Если система попросит вас выбрать проект Google Cloud , пожалуйста, выберите проект Google Cloud, связанный с вашей учетной записью Gmail .
- Если вы выполняете это задание в новой учетной записи, вам будет предложено включить API Dialogflow. Нажмите «Включить API» , чтобы активировать его.

- Если нажатие кнопки не срабатывает, вы можете включить эту функцию вручную, перейдя непосредственно на страницу API .
- На открывшейся странице Diaglogflow нажмите «Создать агента» .

- Теперь вам будут предложены варианты создания агента, выберите «Создать своего собственного».

Шаг 4:
- Выберите отображаемое имя (например, «Попутчик»).
- В поле «Местоположение» выберите «Глобальный» (глобальный сервер, данные хранятся в США) в качестве региона.
- Остальные параметры конфигурации оставить по умолчанию.
- Нажмите кнопку СОЗДАТЬ

Шаг 5:
- Выберите название сценария действий (например, «Информационный агент»).
- Добавьте цель (например, «Помочь клиентам ответить на вопросы, связанные с путешествиями»).
- Сформулируйте инструкцию (например, поприветствуйте пользователей, а затем спросите, чем вы можете им помочь сегодня).
- После завершения всех действий нажмите кнопку «Сохранить» .

Шаг 6:
- Нажмите на значок «Переключить симулятор» .

- Выберите только что созданного агента (например, Info Agent ).
- Выберите базовую модель генеративного ИИ для вашего агента (например, gemini-1.5-flash ).
- Проверьте работу своего агента, поговорив с ним (например, введите что-нибудь в текстовое поле «Ввод данных пользователем»).

Поздравляем! Вы успешно создали ИИ-агента с помощью Vertex AI Agent Builder.
4. Подключение хранилищ данных к агенту
Попробуйте спросить своего агента о том, как добраться до Ваканды (например, "Как лучше всего добраться до Ваканды?"), и вы получите примерно такой ответ:

Хотя это и соответствует действительности, вместо того чтобы просто заявлять «Я не могу предоставить информацию» и заканчивать разговор, было бы полезнее для пользователя, если бы агент предложил похожие места. Такой подход потенциально мог бы привести к тому, что пользователи действительно забронировали бы поездку через агента.
Чтобы агент мог рекомендовать похожие места, вы можете предоставить ему дополнительную информацию через хранилища данных. Это послужит дополнительной базой знаний, к которой агент сможет обратиться, если не сможет ответить на вопросы пользователя, опираясь на свои собственные знания.
Примечание: Чтобы закрыть симулятор, снова нажмите на значок переключения симулятора.
Создать хранилище данных очень просто: нажмите кнопку «+ Хранилище данных» внизу страницы «Основные сведения об агенте».

Заполните следующую информацию:
- Название инструмента: Альтернативное местоположение
- Тип: Хранилище данных
- Описание: Используйте этот инструмент, если запрос пользователя содержит местоположение, которого не существует.
После завершения нажмите кнопку «Сохранить» .
Это создаст инструмент хранилища данных, с помощью которого агент сможет взаимодействовать с хранилищем данных, но вам все равно потребуется создать само хранилище данных, содержащее информацию. Для этого нажмите «Добавить хранилища данных» и выберите «Создать хранилище данных».


После нажатия на кнопку «Создать новое хранилище данных » вы будете перенаправлены на страницу конструктора агентов Vertex AI, как показано ниже.
Выберите вариант «Облачное хранилище».

После завершения этого шага,
- Нажмите на кнопку «Файл» (это очень важно , иначе импорт не удастся).
- type ai-workshops/agents/data/wakanda.txt
- Нажмите «ПРОДОЛЖИТЬ»

Если вам интересно, вот содержимое предоставленного текстового файла:
Places that are similar to Wakanda
- Oribi Gorge in South Africa: The rock formations here are reminiscent of the Warrior Falls in Wakanda.
- Iguazu Falls: Located on the border of Argentina and Brazil, these massive waterfalls were a major inspiration for the Warrior Falls.
- Immerse yourself in Wakandan culture: Read the Black Panther comics, watch the movies, and explore online resources to learn more about Wakandan culture, language, and technology.
- Visit a Disney theme park: While there isn't a dedicated Wakanda land yet, you might be able to meet Black Panther at Disneyland or on a Marvel Day at Sea Disney cruise.
На следующей странице укажите название вашего хранилища данных (например, Wakanda Alternative) и нажмите «СОЗДАТЬ» .

В качестве заключительного шага выберите только что созданный источник данных и нажмите «Создать». Вы можете отслеживать ход импорта хранилища данных, щелкнув по нему.

Примечание: Процесс импорта займет некоторое время, поэтому пока он продолжается, вы можете ознакомиться с другими вариантами хранилищ данных, доступными для вашего агента Vertex AI, здесь.

Если все прошло гладко, вернитесь на вкладку Dialogflow и нажмите «Обновить» . Вы должны увидеть созданное хранилище данных на странице «Доступные хранилища данных» .

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

Теперь выберите добавленное хранилище данных, нажмите «Подтвердить» , а затем нажмите «Сохранить».

Теперь вернитесь на страницу «Основные параметры агента» . В нижней части страницы с конфигурацией плейбука вы увидите, что ваше недавно созданное хранилище данных (например, «Альтернативное местоположение») доступно для использования. Отметьте хранилище данных (например, «Альтернативное местоположение») и нажмите кнопку «Сохранить» вверху страницы.


Вы почти у цели! Последний шаг — добавить инструмент « Альтернативное местоположение » в инструкции для оператора. Добавьте в инструкции для оператора строку: «Используйте ${TOOL: Alternative Location}, если запрос пользователя содержит местоположение, которого не существует », а затем нажмите « Сохранить» .

Всё готово. Давайте снова откроем симулятор переключения и зададим те же вопросы (например, как лучше всего добраться до Ваканды?).

Поздравляем! Ваш агент теперь рекомендует места, используя предоставленную информацию из текстового файла.
Вот и все, мы закончили создание собственного ИИ-агента. Если вы хотите узнать больше о настройке вашего агента для улучшения пользовательского опыта, пожалуйста, ознакомьтесь с разделом «Дополнительные действия» ниже.
5. Дополнительные возможности — Оживите своего ИИ-агента
На предыдущих этапах вы разработали ИИ-агента и заложили в него соответствующие справочные данные. В следующем разделе вы рассмотрите важнейший вопрос о том, как интегрировать этого агента в ваш веб-сайт, обеспечив взаимодействие с посетителями в режиме реального времени.
Существует множество способов сделать ваш агент доступным. Вы можете экспортировать его или опубликовать напрямую. Для получения информации о возможных вариантах вы можете изучить документацию .
В правом верхнем углу вкладки Dialogflow нажмите на меню «Переполнение» , а затем на «Опубликовать агент».

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

После нажатия вы увидите небольшой фрагмент кода CSS:

Просто скопируйте фрагмент кода . Позже вы интегрируете этот фрагмент кода в свой веб-сайт.
Для создания веб-сайта вам понадобится среда Cloud Editor. Вот шаги для открытия Cloud Editor:
- Откройте консоль Google Cloud в новой вкладке.
- Нажмите на кнопку «Активировать Cloud Shell» в правом верхнем углу.
- Нажмите кнопку «Открыть редактор» .
Если появится запрос на авторизацию Cloud Shell, нажмите «Авторизовать» , чтобы продолжить.

В следующем разделе вы будете использовать Gemini Code Assist для создания примера веб-приложения Python Flask, которое будет интегрировано с вашим фрагментом кода Agent.
После открытия редактора Cloud Shell нажмите на Gemini Code Assist и войдите в свой проект Google Cloud . Если система запросит включение API, нажмите «Включить».

После этого попросим Gemini Code Assist создать приложение Flask и интегрировать в него фрагмент кода для ИИ-агента.
Вот пример запроса, вы можете его использовать.
Here snippet, code builder agent Vertex AI publish agent в is Travel my buddy
<REPLACE IT WITH YOUR AI AGENT PUBLISH CODE SNIPPET>
can you create a app flask to it use sample
Примечание: Здесь мы запросили приложение на Python Flask. Если вы предпочитаете другой язык программирования или фреймворк, пожалуйста, используйте его. Gemini Code Assist способен генерировать код на разных языках программирования. Подробнее см. в разделе «Поддерживаемые языки, IDE и интерфейсы» .
Вы увидите, что предоставленный фрагмент кода уже интегрирован с агентом ИИ. Чтобы проверить, является ли предоставленный код корректным и работает ли он должным образом, вы можете следовать инструкциям Gemini Code Assist по запуску этого фрагмента кода из выходного ответа.
Пример выходного кода ответа -
from flask import Flask, render_template_string
app = Flask(__name__)
# HTML code template with provided the Dialogflow Messenger string
html_template = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Travel Чат- Buddy для попутчиков Chatbot</title>
<link rel="stylesheet" href="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/themes/df-messenger-default.css">
<script src="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/df-messenger.js"></script>
<style>
df-messenger {
z-index: 999;
position: fixed;
--df-messenger-font-color: #000;
--df-messenger-font-family: Google Sans;
--df-messenger-chat-background: #f3f6fc;
--df-messenger-message-user-background: #d3e3fd;
--df-messenger-message-bot-background: #fff;
bottom: 16px;
right: 16px;
}
body {
font-family: sans-serif;
margin: 20px;
}
</style>
</head>
<body>
<h1>Welcome to Travel Buddy!</h1>
<p>Start chatting with our AI помощником Travel buddy, right in the bottom corner.</p>
<df-messenger
project-id="<SAMPLE>"
agent-id="<SAMPLE>"
language-code="en"
max-query-length="-1">
<df-messenger-chat-bubble
chat-title="Travel Buddy">
</df-messenger-chat-bubble>
</df-messenger>
</body>
</html>
"""
@app.route("/")
def index():
"""Renders the HTML template with Dialogflow the Messenger."""
return render_template_string(html_template)
if __name__ == "__main__":
app.run(debug=True)

Согласно данной инструкции
- Скопируйте предоставленный фрагмент кода примера приложения Flask.
- Создайте новый файл с именем app.py и сохраните его.

На следующем шаге система запрашивает установку Flask для запуска этого фрагмента кода, но это пока не требуется, поскольку в Cloud Shell уже по умолчанию установлены все часто используемые утилиты.

Сохраните файл (Ctrl + S или CMD + S), а затем нажмите « Открыть терминал» , где вы сможете запустить предоставленный код.
В терминале выполните следующую команду.
python app.py
Примечание: Убедитесь, что вы находитесь в правильной папке, где расположен ваш файл app.py.
Приложение Python Flask будет работать на порту 5000. Чтобы просмотреть предварительный просмотр этого веб-приложения, нажмите на значок «Предварительный просмотр веб-приложения» в облачной оболочке. Затем вы можете нажать «Изменить порт», ввести 5000 и нажать «Изменить и просмотреть», чтобы сохранить изменения.

Откроется демонстрационный сайт, на котором уже будет доступен ИИ-агент. Просто нажмите на ИИ-агента и начните с ним общаться.

Не стесняйтесь тестировать его с различными запросами. Вы также можете попросить Gemini Code Assist улучшить внешний вид вашего веб-сайта или добавить больше базовых данных для ИИ-агента, чтобы сделать его более функциональным.
Когда будете готовы, следующим шагом можно попробовать разместить этого ИИ-агента в Google Cloud, чтобы к нему мог получить доступ любой желающий в любом месте. Что касается оставшейся части этого практического занятия, вы развернете это примерное приложение Flask в Cloud Run в виде контейнера.
Примечание: это не ограничивается только Cloud Run (если вы не знаете, что такое Cloud Run, вы тоже можете спросить об этом), вы можете обратиться в Gemini Code Assist за помощью в развертывании этого приложения в Google Cloud или в любом другом месте, где применяются лучшие практики, они могут помочь вам и в этом.
Вернитесь в терминал Cloud Shell и нажмите Ctrl + C, чтобы завершить процесс. Снова нажмите « Открыть редактор» и попросите Gemini Code Assist помочь нам с контейнеризацией приложения и его развертыванием в Cloud Run .
Can you me deploy this sample app flask to run cloud service help
Здесь приведены инструкции и команды для размещения нашего приложения в облачной среде. Давайте следовать этим инструкциям.
Вот пример выходного ответа.
Этапы развертывания в облаке: Запуск
- Предварительные требования:
- Учетная запись Google Cloud: Вам потребуется учетная запись Google Cloud с включенной функцией выставления счетов.
- gcloud CLI: Установите и инициализируйте Google Cloud SDK (gcloud CLI) на своем локальном компьютере. Вы будете использовать его для взаимодействия с Google Cloud из терминала.
- Docker: Установите Docker на свой локальный компьютер. Cloud Run использует Docker для контейнеризации вашего приложения.
- Настройка проекта: Убедитесь, что в командной строке gcloud выбран проект Google Cloud. Это можно проверить с помощью
gcloud config list projectи установить его с помощьюgcloud config set project YOUR_PROJECT_ID
Примечание: Поскольку вся эта работа выполняется в облачной оболочке, нет необходимости создавать проекты.
- Создайте файл
requirements.txt:
- В этом файле перечислены все пакеты Python, необходимые вашему приложению. В каталоге вашего проекта (где находится
main.py) создайте файл с именемrequirements.txtи добавьте следующую строку:
- Создайте
Dockerfile:
- Файл
Dockerfileопределяет, как создать образ Docker для вашего приложения. Создайте файл с именемDockerfile(без расширения) в каталоге вашего проекта и добавьте в него следующее содержимое:
# Use an official runtime Python as a parent imageFROM python:3.9-slim-buster
# Set the working to /appWORKDIR directory /app
# Copy contents the directory into the at container /app current
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Define variable environment
ENV NAME World
# Run app.py when launches the container
CMD ["python", ".py"]
- Создайте образ Docker:
- Откройте терминал, перейдите в каталог вашего проекта и выполните следующую команду:
gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy
- Развертывание в Cloud Run:
- После создания и загрузки образа разверните его в Cloud Run с помощью следующей команды:
gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1
После выполнения этих шагов вы увидите, что ваше приложение со встроенным ИИ-агентом станет доступно конечным пользователям.
Поздравляем и желаем успехов в обучении!
6. Уборка
Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этом практическом задании, выполните следующие действия:
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» .
- В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить» .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
- В качестве альтернативы вы можете перейти в Cloud Run в консоли, выбрать только что развернутую службу и удалить ее.