Создание агентов ИИ с помощью Vertex AI Agent Builder

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

Этот самостоятельный практический курс проведет вас через процесс создания агентов искусственного интеллекта с помощью Vertex AI Agent Builder от Google Cloud. На каждом шаге будет рассмотрена конкретная функция Agent Builder и объяснено ее назначение.

Предварительные требования

Что вы узнаете

  • Как создать простого ИИ-агента с помощью 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 .
  • Вы должны увидеть приветственную страницу. 833886ce0d2645ba.png
  • Нажмите кнопку «ПРОДОЛЖИТЬ И АКТИВИРОВАТЬ API» .

Шаг 2:

  • Вы будете перенаправлены на страницу создания приложения. f2d45cc76d62edeb.png
  • Нажмите кнопку « СОЗДАТЬ НОВОЕ ПРИЛОЖЕНИЕ» .

Шаг 3:

  • Выберите «Разговорный агент» и нажмите «СОЗДАТЬ».

732d2cd9e10c9a79.png

Примечание:

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

238281df06301db0.png

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

42515e46bc63506d.png

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

8af6bf0853f20768.png

Шаг 4:

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

4e0dea29e5d8acde.png

Шаг 5:

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

f8bfd605ddd97cf8.png

Шаг 6:

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

3ac3cf54a1e2098.png

Поздравляем! Вы успешно создали ИИ-агента с помощью Vertex AI Agent Builder.

4. Подключение хранилищ данных к агенту

Попробуйте спросить своего агента о том, как добраться до Ваканды (например, "Как лучше всего добраться до Ваканды?"), и вы получите примерно такой ответ:

5baa2dbabe2941a2.png

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

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

Примечание: Чтобы закрыть симулятор, снова нажмите на значок переключения симулятора.

Создать хранилище данных очень просто: нажмите кнопку «+ Хранилище данных» внизу страницы «Основные сведения об агенте».

6c3ef19fefc46af7.png

Заполните следующую информацию:

  • Название инструмента: Альтернативное местоположение
  • Тип: Хранилище данных
  • Описание: Используйте этот инструмент, если запрос пользователя содержит местоположение, которого не существует.

После завершения нажмите кнопку «Сохранить» .

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

65c790a87de8fba8.png

7648d478a6f35cf0.png

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

Выберите вариант «Облачное хранилище».

bff5455fac531509.png

После завершения этого шага,

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

d1983baa579eb78c.png

Если вам интересно, вот содержимое предоставленного текстового файла:

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) и нажмите «СОЗДАТЬ» .

93eb71e8d019ae24.png

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

de1ac9256cc96f29.png

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

9b5c4a2831728a6b.png

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

a44373b78bd95ff0.png

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

c1605bd076258050.png

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

40082aebe8b82d7c.png

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

1b6b82fd7f30a598.png

e09af18697b0fd7f.png

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

3134d9eadca34e21.png

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

6cdee598391fc82a.png

Поздравляем! Ваш агент теперь рекомендует места, используя предоставленную информацию из текстового файла.

Вот и все, мы закончили создание собственного ИИ-агента. Если вы хотите узнать больше о настройке вашего агента для улучшения пользовательского опыта, пожалуйста, ознакомьтесь с разделом «Дополнительные действия» ниже.

5. Дополнительные возможности — Оживите своего ИИ-агента

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

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

В правом верхнем углу вкладки Dialogflow нажмите на меню «Переполнение» , а затем на «Опубликовать агент».

a1b109fa9d7cb51d.png

Оставьте все параметры конфигурации по умолчанию и нажмите «Включить неаутентифицированный API» .

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

ef0f24db780a185e.png

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

c40d12f6207bf5b4.png

Просто скопируйте фрагмент кода . Позже вы интегрируете этот фрагмент кода в свой веб-сайт.

Для создания веб-сайта вам понадобится среда Cloud Editor. Вот шаги для открытия Cloud Editor:

  1. Откройте консоль Google Cloud в новой вкладке.
  2. Нажмите на кнопку «Активировать Cloud Shell» в правом верхнем углу.
  3. Нажмите кнопку «Открыть редактор» .

Если появится запрос на авторизацию Cloud Shell, нажмите «Авторизовать» , чтобы продолжить.

d23192eca480f00c.png

В следующем разделе вы будете использовать Gemini Code Assist для создания примера веб-приложения Python Flask, которое будет интегрировано с вашим фрагментом кода Agent.

После открытия редактора Cloud Shell нажмите на Gemini Code Assist и войдите в свой проект Google Cloud . Если система запросит включение API, нажмите «Включить».

93112cce3e8d963b.png

После этого попросим 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)

3dd3246c5fceb1d4.png

Согласно данной инструкции

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

4e58cfcf95f65d38.png

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

b657b535710fd8f3.png

Сохраните файл (Ctrl + S или CMD + S), а затем нажмите « Открыть терминал» , где вы сможете запустить предоставленный код.

В терминале выполните следующую команду.

python app.py

Примечание: Убедитесь, что вы находитесь в правильной папке, где расположен ваш файл app.py.

Приложение Python Flask будет работать на порту 5000. Чтобы просмотреть предварительный просмотр этого веб-приложения, нажмите на значок «Предварительный просмотр веб-приложения» в облачной оболочке. Затем вы можете нажать «Изменить порт», ввести 5000 и нажать «Изменить и просмотреть», чтобы сохранить изменения.

59ed7b08133b82bf.png

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

35a4b5abdd299efe.png

Не стесняйтесь тестировать его с различными запросами. Вы также можете попросить 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

Здесь приведены инструкции и команды для размещения нашего приложения в облачной среде. Давайте следовать этим инструкциям.

Вот пример выходного ответа.

Этапы развертывания в облаке: Запуск

  1. Предварительные требования:
  • Учетная запись 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

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

  1. Создайте файл requirements.txt :
  • В этом файле перечислены все пакеты Python, необходимые вашему приложению. В каталоге вашего проекта (где находится main.py ) создайте файл с именем requirements.txt и добавьте следующую строку:
  1. Создайте 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"]

  1. Создайте образ Docker:
  • Откройте терминал, перейдите в каталог вашего проекта и выполните следующую команду:

gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy

  1. Развертывание в Cloud Run:
  • После создания и загрузки образа разверните его в Cloud Run с помощью следующей команды:

gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1

После выполнения этих шагов вы увидите, что ваше приложение со встроенным ИИ-агентом станет доступно конечным пользователям.

Поздравляем и желаем успехов в обучении!

6. Уборка

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

  1. В консоли Google Cloud перейдите на страницу «Управление ресурсами» .
  2. В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить» .
  3. В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
  4. В качестве альтернативы вы можете перейти в Cloud Run в консоли, выбрать только что развернутую службу и удалить ее.