Облачная платформаEvolution

Создание AI-агента Ouroboros в Container Apps с подключением Foundation Models


С помощью этого руководства вы запустите AI-агента Ouroboros в Container Apps, подключите сервис Foundation Models и интегрируете его с агентом.

Вы будете использовать следующие сервисы:

  • Маркетплейс — витрина готовых сервисов для развертывания в облаке.

  • Container Apps — сервис для запуска контейнерных приложений в облаке. Не требует знания Kubernetes и создания виртуальных машин.

  • Ouroboros one click — AI-агент, способный самостоятельно писать код и улучшать архитектуру.

  • Foundation Models — сервис для доступа к API популярных фундаментальных моделей машинного обучения с открытым исходным кодом.

  • Object Storage — объектное S3-хранилище с бесплатным хранением файлов объемом до 15 ГБ.

Шаги:

Перед началом работы

Если вы уже зарегистрированы, войдите под своей учетной записью.

1. Создайте сервисный аккаунт

  1. На верхней панели слева нажмите Кнопка с изображением девяти точек и перейдите в раздел Пользователи, на вкладку Сервисные аккаунты.

    ../_images/s__service_account.webp
  2. В правом верхнем углу нажмите Создать аккаунт.

    ../_images/s__service_account_create.webp
  3. Задайте для сервисного аккаунта название и описание.

  4. Нажмите Продолжить.

  5. Назначьте роль на проект «Администратор проекта».

    Роль определяет права доступа сервисного аккаунта.

    ../_images/s__service_account_roles.webp
  6. Нажмите Создать.

2. Сгенерируйте API-ключ

  1. На верхней панели слева нажмите Кнопка с изображением девяти точек и перейдите в раздел Пользователи, на вкладку Сервисные аккаунты.

  2. Нажмите на название сервисного аккаунта, который будете использовать для отправки запроса к модели.

    ../_images/s__service_account_n.webp
  3. В разделе Учетные данные доступа нажмите Создать API-ключ.

    ../_images/s__create_key.webp
  4. Введите название и описание API-ключа, которое поможет в будущем идентифицировать его среди других ключей.

  5. Заполните параметры API-ключа:

    • Сервисы — Foundation Models.

    • Время действия — срок действия API-ключа и часовой пояс. Вы можете установить значение от одного дня до одного года с текущей даты. Если параметр не задан, срок действия ключа устанавливается на максимальное значение — один год. Из соображений безопасности рекомендуется выставлять средние значения, например 90 дней.

    • Интервал работы ключа — один или несколько интервалов времени, в которые можно использовать API-ключ.

  6. Нажмите Создать.

  7. Сохраните Key Secret. После закрытия окна получить его будет нельзя.

    Созданный API-ключ появится в списке ключей в статусе «Активен». Подробнее о работе с API-ключом.

3. Создайте бакет в сервисе Object Storage

  1. В сервисе Object Storage создайте новый бакет со следующими параметрами:

    • Название<your_name>-ouroboros, например name-ouroboros.

    • Доменное имя<your_name>-ouroboros, например name-ouroboros.

    • Класс хранения по умолчаниюСтандартный.

    • Максимальный размер — отключите или укажите на свое усмотрение.

  2. Убедитесь, что в личном кабинете на странице сервиса Object Storage:

    • в списке бакетов отображается созданный вами бакет;

    • класс хранения — Стандартный.

4. Запустите приложение из Маркетплейса

  1. В строке поиска введите Ouroboros one click и нажмите на карточку в результатах выдачи.

    ../_images/ouroboros__marketplace.webp
  2. В карточке сервиса нажмите кнопку Запустить контейнер.

    В результате появится форма создания Container Service и первой ревизии.

    Примечание

    В конфигурации установлены базовые параметры для работы образа. При необходимости вы можете их изменить. Минимальная конфигурация для работы «Ouroboros one click» — 0.2 vCPU - 512 MB.

    Образ из Маркетплейса содержит следующие переменные:

    • КлючOUROBOROS_REPO_DIR, Значение/opt/ouroboros.

    • КлючOUROBOROS_DATA_DIR, Значение/mnt/ouroboros-data.

  3. (Опционально) В разделе Монтирование постоянного тома в поле Бакет из Object Storage выберите бакет сервиса Object Storage, который вы создали на шаге 1.

    В главный контейнер приложения будет автоматически смонтирован том со следующими параметрами:

    • ТипПостоянный.

    • Название — автоматически сгенерированное название вида volume....

    • Бакет из Object Storage — бакет сервиса Object Storage, который вы создали на шаге 1.

    • Путь (path)/mnt.

    Параметры тома не отображаются в мастере создания контейнера.

  4. В разделе Главный контейнер перейдите на вкладку Переменные и в поле Значение для переменной OPENROUTER_API_KEY укажите значение Key Secret, полученное на шаге 2.

    ../_images/api_key_variable.webp
  5. В нижней части формы нажмите Создать.

    Контейнер перейдет в статус «Создается», дождитесь перехода в статус «Выполняется».

  6. Когда контейнер перейдет в статус «Выполняется», скопируйте Публичный URL.

    ../_images/ouroboros__public-url.webp
  7. В строке браузера укажите скопированное значение.

    В результате откроется веб-интерфейс Ouroboros.

    ../_images/ouroboros__web-ui.webp
    Подсказка

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

5. Настройте интеграцию агента с Foundation Models

  1. В веб-интерфейсе Ouroboros перейдите в раздел Settings.

  2. На вкладке AI Providers раскройте раздел Cloud.ru Foundation Models.

  3. Проверьте, что значение в поле API Key совпадает со значением Key Secret, полученным на шаге 2.

    ../_images/ouroboros__settings.webp
  4. В блоке AI Models укажите нужные модели из списка доступных.

    ../_images/ouroboros__models.webp
  5. Внизу страницы нажмите Save Settings.

6. Проверьте работу агента

  1. В веб-интерфейсе Ouroboros перейдите в раздел Chat.

  2. Отправьте сообщение, например: Расскажи, чем ты отличаешься от других AI-агентов.

    ../_images/ouroboros__result.webp

AI-агент Ouroboros готов к работе.

Результат

Вы запустили Ouroboros в Container Apps и интегрировали его с сервисом Foundation Models. В результате получили готового к работе AI-агента, который отвечает в веб-интерфейсе и выполняет задачи. Ваши данные синхронизируются с постоянным томом Object Storage. Данные сохраняются, когда запросы к приложению не поступают.