Руководство по развертыванию корпоративного веб-приложения чата
Внимание
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
В этой статье вы развернете корпоративное веб-приложение чата, которое использует собственные данные с большой языковой моделью на портале Azure AI Foundry.
Источник данных используется для создания модели с определенными данными. Приземление означает, что модель использует данные для понимания контекста вашего вопроса. Вы не изменяете развернутую модель. Данные хранятся отдельно и безопасно в исходном источнике данных
Последовательность действий будет следующей:
- Настройте ресурсы.
- Добавьте данные.
- Проверьте модель с данными.
- Разверните веб-приложение.
Необходимые компоненты
Подписка Azure — создайте бесплатную учетную запись.
Развернутая модель чата Azure OpenAI . Выполните краткое руководство по созданию этого ресурса, если вы еще не сделали этого.
Подключение служба для индексирования примеров данных продукта. Если у вас нет одного, выполните действия по созданию и подключению службы поиска.
Локальная копия данных продукта. Репозиторий Azure-Samples/rag-data-openai-python-promptflow на GitHub содержит примеры сведений о розничном продукте, которые относятся к этому сценарию руководства. В частности,
product_info_11.md
файл содержит сведения о продукте о походной обуви TrailWalker, которая относится к этому примеру руководства. Скачайте пример данных о розничных продуктах Contoso Trek в ZIP-файле на локальный компьютер.Поставщик ресурсов Microsoft.Web , зарегистрированный в выбранной подписке, чтобы иметь возможность развертывания в веб-приложении. Дополнительные сведения о регистрации предоставления ресурса см. в разделе "Регистрация поставщика ресурсов".
Необходимые разрешения для добавления назначений ролей в подписку Azure. Предоставление разрешений по назначению ролей разрешено только владельцем определенных ресурсов Azure.
Портал Azure AI Foundry и портал Azure
В этом руководстве вы выполняете некоторые задачи на портале Azure AI Foundry и некоторые задачи в портал Azure.
Портал Azure AI Foundry — это веб-среда для создания, обучения и развертывания моделей ИИ. В качестве разработчика вы создадите и развернете веб-приложение чата.
Портал Azure позволяет администратору управлять ресурсами Azure и отслеживать их. Администратор использует портал для настройки параметров для различных служб Azure, необходимых для доступа из веб-приложения.
Настройка ресурсов
Внимание
Необходимо иметь необходимые разрешения для добавления назначений ролей в подписку Azure. Предоставление разрешений по назначению ролей разрешено только владельцем определенных ресурсов Azure. Возможно, вам потребуется попросить владельца подписки Azure (кто может быть ИТ-администратором), чтобы завершить этот раздел.
Чтобы ресурсы работали правильно в веб-приложении, необходимо настроить их с правильными разрешениями. Эта работа выполняется в портал Azure.
Чтобы начать, определите ресурсы, которые необходимо настроить на портале Azure AI Foundry.
Откройте портал Azure AI Foundry и выберите проект, используемый для развертывания модели чата Azure OpenAI.
Выберите центр управления в левой области.
Выберите подключенные ресурсы в проекте.
Определите три ресурса, которые необходимо настроить: Azure OpenAI, поиск ИИ Azure и хранилище BLOB-объектов Azure, соответствующее вашему рабочему объекту workspaceblobstore.
Совет
Если у вас несколько ресурсов Azure OpenAI , используйте тот, который содержит развернутую модель чата.
Для каждого ресурса выберите ссылку, чтобы открыть сведения о ресурсе. На странице сведений выберите имя ресурса, чтобы открыть ресурс в портал Azure. (Для хранилища рабочих областей выберите Просмотр на портале Azure).
После открытия вкладки браузера вернитесь на портал Azure AI Foundry и повторите процесс для следующего ресурса.
По завершении необходимо открыть три новых вкладки браузера для служба , служб ИИ Azure и контейнера BLOBSTORE. Сохраните все три новых вкладки, так как вы вернетесь и вперед между ними, чтобы настроить ресурсы.
Включение управляемого удостоверения
На вкладке браузера для ресурса служба в портал Azure включите управляемое удостоверение:
- В области слева в разделе "Параметры" выберите "Удостоверение".
- Переключение состояния на Вкл.
- Выберите Сохранить.
На вкладке браузера для ресурса служб искусственного интеллекта Azure в портал Azure включите управляемое удостоверение:
- В области слева в разделе "Управление ресурсами" выберите "Удостоверение".
- Переключение состояния на Вкл.
- Выберите Сохранить.
Настройка управления доступом для поиска
На вкладке браузера для ресурса служба в портал Azure задайте политику доступа к API:
- В области слева в разделе "Параметры" выберите "Ключи".
- В разделе "Управление доступом к API" выберите "Оба".
- При появлении запроса нажмите кнопку "Да" , чтобы подтвердить изменение.
Назначение ролей
Этот шаблон повторяется несколько раз в маркированных элементах ниже.
Общий шаблон назначения управления доступом на основе ролей (RBAC) для любого ресурса:
- Перейдите к портал Azure для данного ресурса.
- На левой странице в портал Azure выберите элемент управления доступом (IAM).
- Выберите + Добавить>Добавить назначение ролей.
- Найдите нужную роль и выберите ее. Затем выберите Далее.
- При назначении роли себе:
- Выберите "Пользователь", "Группа" или "Субъект-служба".
- Выберите Выбрать участников.
- Найдите имя и выберите его.
- При назначении роли другому ресурсу:
- Выберите Управляемое удостоверение.
- Щелкните Выбор членов.
- Используйте раскрывающийся список, чтобы найти тип ресурса, который вы хотите назначить. Например, службы ИИ Azure или служба .
- Выберите ресурс из отображаемого списка. Может быть только один, но вам все равно нужно выбрать его.
- Перейдите к мастеру и выберите "Проверить и назначить" , чтобы добавить назначение роли.
Чтобы назначить роли для ресурсов, которые вы настраиваете в этом руководстве, выполните следующие действия.
Назначьте следующие роли на вкладке браузера для служба в портал Azure:
- Средство чтения данных индексов поиска в управляемом удостоверении служб ИИ Azure
- Участник службы поиска в управляемом удостоверении служб искусственного интеллекта Azure
- Участник самостоятельно (чтобы найти участника, перейдите на вкладку "Роли привилегированного администратора" в верхней части страницы. Все остальные роли находятся на вкладке "Роли функции задания".)
Назначьте следующие роли на вкладке браузера для служб ИИ Azure в портал Azure:
- Участник OpenAI Cognitive Services для управляемого удостоверения служба
- Участник себя.
Назначьте следующие роли на вкладке браузера для хранилища BLOB-объектов Azure в портал Azure:
- Участник данных BLOB-объектов хранилища в управляемом удостоверении служб искусственного интеллекта Azure
- Средство чтения данных BLOB-объектов хранилища для управляемого удостоверения служба
- Участник самостоятельно
Вы закончите настройку ресурсов. Если вы хотите, закройте вкладки браузера портал Azure.
Добавьте данные и повторите попытку модели чата
В кратком руководстве по игровой площадке Azure AI Foundry (это обязательное условие для этого руководства), обратите внимание на то, как модель реагирует без данных. Теперь добавьте данные в модель, чтобы ответить на вопросы о продуктах.
Для выполнения этого раздела потребуется локальная копия данных продукта. Репозиторий Azure-Samples/rag-data-openai-python-promptflow на GitHub содержит примеры сведений о розничном продукте, которые относятся к этому сценарию руководства. В частности, product_info_11.md
файл содержит сведения о продукте о походной обуви TrailWalker, которая относится к этому примеру руководства. Скачайте пример данных о розничных продуктах Contoso Trek в ZIP-файле на локальный компьютер.
Выполните следующие действия, чтобы добавить данные на площадку чата, чтобы помочь помощнику ответить на вопросы о продуктах. Вы не изменяете развернутую модель. Данные хранятся отдельно и безопасно в подписке Azure.
Перейдите к проекту в Azure AI Foundry.
Выберите игровые площадки.
Выберите "Попробовать игровую площадку чата".
Выберите развернутую модель чата в раскрывающемся списке развертывания .
В левой части игровой площадки чата нажмите кнопку "Добавить данные (предварительная версия)>+ Добавить новый источник данных.
В раскрывающемся списке источника данных выберите " Отправить файлы".
Выберите "Отправить>файлы", чтобы просмотреть локальные файлы.
Выберите файлы, которые нужно отправить. Выберите файлы сведений о продукте, скачанные или созданные ранее. Добавьте все файлы. Вы не сможете добавлять дополнительные файлы позже в том же сеансе игровой площадки.
Выберите " Отправить ", чтобы отправить файл в учетную запись хранения BLOB-объектов Azure. Затем выберите Далее.
Выберите службу поиска ИИ Azure.
В поле "Векторный индекс" введите сведения о продукте и нажмите кнопку "Далее".
На странице параметров поиска в разделе "Векторные параметры" установите флажок "Добавить векторный поиск" в этот ресурс поиска. Этот параметр помогает определить, как модель реагирует на запросы. Затем выберите Далее.
Примечание.
Если добавить векторный поиск, дополнительные параметры будут доступны здесь для дополнительной стоимости.
Просмотрите параметры и выберите "Создать векторный индекс".
На детской площадке вы увидите, что прием данных выполняется. Этот процесс может занять несколько минут. Прежде чем продолжить, подождите, пока не увидите имя источника данных и индекса вместо состояния.
Теперь вы можете общаться с моделью, задавая тот же вопрос, что и раньше ("Сколько это походная обувь TrailWalker"), и на этот раз он использует информацию из данных для создания ответа. Чтобы просмотреть используемые данные, можно развернуть кнопку ссылок .
Развертывание веб-приложения
Когда вы удовлетворены интерфейсом на портале Azure AI Foundry, вы можете развернуть модель как автономное веб-приложение.
Поиск группы ресурсов в портал Azure
В этом руководстве веб-приложение развертывается в той же группе ресурсов, что и центр Azure AI Foundry. Позже вы настроите проверку подлинности для веб-приложения в портал Azure.
Выполните следующие действия, чтобы перейти к группе ресурсов в портал Azure:
Перейдите к проекту в Azure AI Foundry. Затем выберите центр управления в левой области.
В разделе "Заголовок проекта" выберите "Обзор".
Выберите имя группы ресурсов, чтобы открыть группу ресурсов в портал Azure. В этом примере группа ресурсов называется
rg-sdg-ai
.Теперь вы должны находиться в портал Azure, просматривая содержимое группы ресурсов, в которой вы развернули концентратор. Обратите внимание, что имя и расположение группы ресурсов будут использоваться в следующем разделе.
Откройте эту страницу на вкладке браузера. Позже вы вернетесь к нему.
Развертывание веб-приложения
Публикация создает службу приложение Azure в подписке. Это может привести к затратам в зависимости от выбранного плана ценообразования. После завершения работы с приложением его можно удалить из портал Azure.
Чтобы развернуть веб-приложение, выполните следующие действия.
Внимание
Перед развертыванием в веб-приложении необходимо зарегистрировать Microsoft.Web в качестве поставщика ресурсов.
Выполните действия, описанные в предыдущем разделе, чтобы добавить данные на игровую площадку. (Вы можете развернуть веб-приложение с собственными данными или без нее, но, по крайней мере, вам нужна развернутая модель, как описано в разделе Краткое руководство по игровой площадке для Azure AI Foundry).
Выберите " Развернуть > ... в качестве веб-приложения.
На странице развертывания в веб-приложении введите следующие сведения:
- Имя: уникальное имя веб-приложения.
- Подписка. Ваша подписка Azure. Если вы не видите доступных подписок, сначала зарегистрируйте Microsoft.Web в качестве поставщика ресурсов.
- Группа ресурсов: выберите группу ресурсов, в которой необходимо развернуть веб-приложение. Используйте ту же группу ресурсов, что и концентратор.
- Расположение. Выберите расположение, в котором будет развернуто веб-приложение. Используйте то же расположение, что и концентратор.
- Тарифный план: выберите план ценообразования для веб-приложения.
- Включить журнал чата в веб-приложении: в этом руководстве не выбрано поле журнала чата. Если вы включите эту функцию, у пользователей есть доступ к отдельным предыдущим запросам и ответам. Дополнительные сведения см . в примечаниях журнала чатов.
Выберите Развернуть.
Дождитесь развертывания приложения, которое может занять несколько минут.
Когда он будет готов, кнопка "Запустить " включена на панели инструментов. Но не запускайте приложение еще и не закрывайте страницу игровой площадки чата - вы вернетесь к нему позже.
Настройка проверки подлинности веб-приложения
По умолчанию веб-приложение доступно только для вас. В этом руководстве описано, как добавить проверку подлинности, чтобы ограничить доступ к приложению членам клиента Azure. Пользователям предлагается войти с помощью учетной записи Microsoft Entra, чтобы получить доступ к приложению. Вы можете следовать аналогичному процессу, чтобы добавить другого поставщика удостоверений, если вы предпочитаете. Приложение не использует сведения о входе пользователя другим способом, кроме проверки того, что они член вашего клиента.
Вернитесь на вкладку браузера, содержащую портал Azure (или снова откройте портал Azure на новой вкладке браузера) и просмотрите содержимое группы ресурсов, в которой развернуто веб-приложение (может потребоваться обновить представление веб-приложения).
Выберите Служба приложений ресурс из списка ресурсов в группе ресурсов.
В раскрывающемся меню слева в разделе "Параметры" выберите "Проверка подлинности".
Если вы видите, что на этой странице на этой странице указан поставщик удостоверений Майкрософт , ничего больше не потребуется. Следующий шаг можно пропустить.
Добавьте поставщика удостоверений со следующими параметрами:
- Поставщик удостоверений: выберите Корпорацию Майкрософт в качестве поставщика удостоверений. Параметры по умолчанию на этой странице ограничивают приложение только вашим клиентом, поэтому вам не нужно ничего другого здесь изменить.
- Тип клиента: Рабочая сила
- Регистрация приложений: создание регистрации приложения
- Имя: имя службы веб-приложения
- Поддерживаемые типы учетных записей: текущий клиент — один клиент
- Ограничение доступа: требуется проверка подлинности
- Запросы, не прошедшие проверку подлинности: HTTP 302 Найден перенаправление — рекомендуется для веб-сайтов
Использование веб-приложения
Почти все сделано. Теперь вы можете протестировать веб-приложение.
Если вы изменили параметры, подождите 10 минут или около того, чтобы параметры проверки подлинности вступают в силу.
Вернитесь на вкладку браузера, содержащую страницу игровой площадки чата на портале Azure AI Foundry.
Выберите "Запустить ", чтобы запустить развернутый веб-приложение. При появлении запроса примите запрос разрешений.
Если параметры проверки подлинности еще не ввели силу, закройте вкладку браузера для веб-приложения и вернитесь на площадку чата на портале Azure AI Foundry. Затем подождите немного дольше и повторите попытку.
В веб-приложении вы можете задать тот же вопрос, что и раньше ("Сколько это походная обувь TrailWalker"), и на этот раз он использует информацию из данных для создания ответа. Чтобы просмотреть используемые данные, можно развернуть кнопку ссылки .
Общие сведения об журнале чата
С помощью функции журнала чата пользователи имеют доступ к отдельным предыдущим запросам и ответам.
Журнал чатов можно включить при развертывании веб-приложения. Установите флажок "Включить журнал чата" в веб-приложении.
Внимание
Включение журнала чата приведет к созданию экземпляра Cosmos DB в группе ресурсов и повлечет за собой дополнительные расходы на используемое хранилище. Удаление веб-приложения не удаляет экземпляр базы данных Cosmos автоматически. Чтобы удалить экземпляр базы данных Cosmos вместе со всеми сохраненными чатами, вам необходимо перейти к связанному ресурсу на портале Azure и удалить его.
После включения журнала чата пользователи смогут отображать и скрывать его в правом верхнем углу приложения. При отображении журнала они могут переименовать или удалить беседы. По мере входа в приложение беседы автоматически упорядочены от новых до старых и именованных на основе первого запроса в беседе.
Если удалить ресурс Cosmos DB, но сохранить параметр журнала чата в студии, пользователи уведомляются об ошибке подключения, но могут продолжать использовать веб-приложение без доступа к журналу чата.
Обновление веб-приложения
Используйте игровую площадку для добавления дополнительных данных или тестирования модели с различными сценариями. Когда вы будете готовы обновить веб-приложение с помощью новой модели, нажмите кнопку "Развернуть > ... как веб-приложение снова. Выберите "Обновить существующее веб-приложение" и выберите существующее веб-приложение из списка. Новая модель развертывается в существующем веб-приложении.
Очистка ресурсов
Чтобы избежать ненужных затрат Azure, следует удалить ресурсы, созданные в этом кратком руководстве, если они больше не нужны. Для управления ресурсами можно использовать портал Azure.