Облегченная зона посадки генеративного искусственного интеллекта Azure

Облегченная зона посадки ГИИ Azure

Искусственный интеллект сейчас на пике популярности, и некоторые продукты слишком часто используют тему искусственного интеллекта – однако многие компании и продукты автоматизируют свои процессы с использованием этой технологии. В этой статье мы рассмотрим продукты искусственного интеллекта и создадим зону посадки искусственного интеллекта. Давайте рассмотрим топ-3 компании, которые получают выгоду от использования искусственного интеллекта.

Github Copilot

Основной задачей Github Copilot является помощь программистам, предоставляя предложения кода и автозаполнение строк или блоков кода во время их написания. Анализируя контекст и существующий код, он ускоряет процесс написания кода и повышает производительность разработчика. Он становится бесценным помощником для разработчиков на протяжении всего их пути программирования, способным поддерживать различные языки программирования и понимать шаблоны кода.

Neuraltext

Neuraltext стремится охватить весь рабочий процесс контента, включая все, начиная от генерации идей до их реализации, все с использованием искусственного интеллекта. Это инструмент для создания копирайтинга, контента для SEO и исследования ключевых слов, работающий на основе искусственного интеллекта. Используя возможности копирайтинга на основе искусственного интеллекта, вы можете легко создать убедительный контент для своих кампаний, генерируя множество вариаций. С помощью огромной коллекции из более чем 50 заранее разработанных шаблонов для различных целей, таких как реклама на Facebook, идеи слоганов, разделы блогов и многое другое, Neuraltext упрощает процесс создания контента.

Motum

Motum – это интеллектуальная операционная система для управления оперативным парком автотранспорта. Она имеет систему распознавания повреждений, которая с использованием компьютерного зрения и алгоритмов машинного обучения автоматически обнаруживает и оценивает повреждения транспортных средств. Анализируя изображения автомобилей, система искусственного интеллекта точно определяет вмятины, царапины, трещины и другие виды повреждений. Эта технология упрощает процесс проверки по страховым случаям, работе автокузовных мастерских и оценке повреждений автомобилей, экономя время и улучшая точность оценки степени повреждений.

Что такое зона посадки облачного сервиса?

Облачная зона посадки искусственного интеллекта – это набор основных облачных сервисов, инструментов и инфраструктуры, которые являются основой для разработки и внедрения решений искусственного интеллекта.

Какие искусственные интеллект-сервисы включены в зону посадки?

Облачная зона посадки Azure включает следующие искусственные интеллект-сервисы:

  • Azure Open AI – предоставляет заранее созданные модели и API искусственного интеллекта для задач, таких как распознавание изображений, обработка естественного языка и анализ настроений, что упрощает внедрение функциональных возможностей искусственного интеллекта для разработчиков; сервисы Azure AI также включают инструменты машинного обучения и фреймворки для создания пользовательских моделей и проведения анализа данных.
  • Azure AI Services – сервис, который позволяет организациям создавать более привлекательные, персонализированные и интеллектуальные пользовательские впечатления, стимулируя инновации и повышая эффективность в различных отраслях; разработчики могут использовать эти заранее созданные API, чтобы добавить интеллектуальные функции в свои приложения, такие как распознавание лиц, понимание языка и анализ настроений, не обладая обширными знаниями в области искусственного интеллекта.
  • Azure Bot Services – это платформа, предоставляемая Microsoft Azure и являющаяся частью сервисов искусственного интеллекта. Она позволяет разработчикам создавать чат-ботов и агентов для разговоров, взаимодействующих с пользователями на различных платформах, таких как веб-чат, Microsoft Teams, Skype, Telegram и другие.

Архитектура

Мы начали интеграцию и развертывание облачной зоны посадки Azure AI в нашей среде. Три логические области разделяют зону посадки искусственного интеллекта:

  • Пайплайны Azure DevOps
  • Модули и окружения Terraform
  • Ресурсы, развернутые в подписках Azure

Мы можем увидеть это на диаграмме ниже.

Рисунок 1: Архитектура зоны посадки искусственного интеллекта (автор: Борис Зайкин)

Архитектура включает в себя YAML-пайплайны CI/CD и модули Terraform для каждой подписки Azure.

Она содержит два YAML-файла:

  • tf-provision-ci.yaml – основной пайплайн, основанный на этапах. Он повторно использует конвейер tf-provision-ci.jobs.yaml для каждой среды.
  • tf-provision-ci.jobs.yaml содержит рабочий процесс развертывания модулей Terraform.

tf-provision-ci.yaml – содержит основную конфигурацию, переменные и этапы: Dev, Test и Prod; Пайплайн повторно использует tf-provision-ci.jobs.yaml на каждом этапе, предоставляя разные параметры.

После того, как мы добавили и выполнили конвейер в AzureDevOps, мы можем увидеть следующую структуру стадий.

Рисунок 2: Интерфейс стадий Azure DevOps

Azure DevOps автоматически распознает стадии в основном YAML-пайплайне и предоставляет соответствующий пользовательский интерфейс.

Давайте рассмотрим файл tf-provision-ci.jobs.yaml.

tf-provision-ci.jobs.yaml — содержит задачи Terraform, включая init, show, validate, plan и apply. Ниже мы можем увидеть процесс выполнения.

Рисунок 3: пользовательский интерфейс развертывания зоны посадки Azure DevOps

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

Также необходимо не забыть заполнить Форму запроса доступа. Ответ обычно приходит через несколько дней. В противном случае конвейер завершится с сообщением об ошибке квоты.

Сценарии и модули Terraform

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

Модуль Terraform может быть определен как набор файлов конфигурации Terraform, организованных внутри папки. Технически все конфигурации, которые вы написали до сих пор, можно считать модулями, хотя они могут быть несложными и неповторимыми. Когда вы непосредственно развертываете модуль, запустив на нем “apply”, это называется корневым модулем. Однако, чтобы полностью исследовать возможности модулей, вам нужно создавать повторно используемые модули, предназначенные для использования внутри других модулей. Эти повторно используемые модули предлагают большую гибкость и могут значительно улучшить развертывание вашей инфраструктуры Terraform. Давайте рассмотрим структуру проекта ниже.

Рисунок 4: структура проекта Terraform с модулями

На приведенном выше изображении показано, что все ресурсы размещены в одной папке “Module”. У каждой среды есть своя папка, файл индекса terraform и переменные, где все ресурсы повторно используются в файле index.tf с различными параметрами, которые находятся в файле переменных.

Мы разместим все ресурсы в отдельном файле в модуле, и все значения будут помещены в переменные Terraform. Это позволяет управлять кодом быстро и уменьшает использование захардкоженных значений. Кроме того, детализация ресурсов позволяет организованно работать в команде с использованием GIT или другого системы контроля версий (меньше конфликтов при слиянии).

Давайте рассмотрим модуль open-ai tf.

Основные параметры Open AI:

  • prefix: задает префикс для всех ресурсов Azure
  • domain: указывает доменную часть имени хоста, используемого для доступа к чат-боту через контроллер входа
  • subdomain: определяет поддоменную часть имени хоста, используемого для доступа к чат-боту через контроллер входа
  • namespace: указывает пространство имен приложения рабочей нагрузки, которое получает доступ к службе Azure OpenAI
  • service_account_name: указывает имя учетной записи службы, используемой рабочим приложением для доступа к службе Azure OpenAI
  • vm_enabled: булевое значение, определяющее, следует ли развернуть виртуальную машину в той же виртуальной сети, что и кластер AKS
  • location: указывает регион (например, западная Европа) для развертывания ресурсов Azure
  • admin_group_object_ids: массив параметров, содержащий список идентификаторов объектов групп Azure AD с ролью администратора доступа к кластеру.

Необходимо обратить внимание на параметры поддомена. Azure Cognitive Services используют пользовательские имена поддоменов для каждого созданного ресурса с использованием инструментов Azure, таких как портал Azure, оболочка Azure Cloud, Azure CLI, Bicep, Azure Resource Manager (ARM) или Terraform. Эти пользовательские имена поддоменов уникальны для каждого ресурса и отличаются от региональных конечных точек, ранее распространяемых среди клиентов в определенном регионе Azure. Пользовательские имена поддоменов необходимы для включения функций аутентификации, таких как Azure Active Directory (Azure AD). Указание пользовательского поддомена для нашей службы Azure OpenAI является важным в некоторых случаях. Другие параметры можно найти в “Создание ресурса и развертывание модели с использованием Azure OpenAI”.

В следующей статье

  • Добавление частного конечной точки Az в конфигурацию: значимым аспектом Azure Open AI является его использование частной конечной точки, позволяющей точно контролировать доступ к вашим службам Azure Open AI. С помощью частной конечной точки вы можете ограничить доступ к вашим службам только необходимым ресурсам в пределах вашей виртуальной сети. Это обеспечивает безопасность и защиту ваших служб, при этом разрешая авторизованным ресурсам получать к ним доступ при необходимости.
  • Интеграция OpenAI с Azure Kubernetes Services: интеграция служб OpenAI с кластером Kubernetes обеспечивает эффективное управление, масштабируемость и высокую доступность приложений искусственного интеллекта, что делает его идеальным выбором для выполнения рабочих нагрузок ИИ в производственной среде.
  • Описание и сравнение нашей легкой зоны посадки и зоны посадки OpenAI от Microsoft.

Репозиторий проекта

  • GitHub – Boriszn/Azure-AI-LandingZone

Заключение

В этой статье рассматриваются продукты и создание зоны посадки искусственного интеллекта. Мы выделяем три ключевых игрока, получающих выгоду от использования искусственного интеллекта: Reply.io для взаимодействия с клиентами, Github Copilot для помощи в написании кода и Neuraltext для создания контента с использованием искусственного интеллекта. Переходя к зонам посадки искусственного интеллекта, мы фокусируемся на Azure AI-сервисах, таких как Open AI, с предварительно созданными моделями и API. Мы погружаемся в архитектуру, используя Terraform и CI/CD-конвейеры. Модульный подход Terraform является ключевым и подчеркивает возможность повторного использования. Мы рассматриваем параметры модуля Open AI, особенно настройку пользовательских поддоменов для Azure Cognitive Services. В эту эру искусственного интеллекта автоматизация и принятие интеллектуальных решений революционизируют технологии.