Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как развернуть и запустить пример приложения корпоративного чата для Python , доступного частными конечными точками.
В этом примере реализовано приложение чата с применением Python, Служба Azure OpenAI и технологии дополненной генерации поиска (RAG) в службе Поиск с использованием ИИ Azure для получения ответов на вопросы о пособиях для сотрудников в вымышленной компании. Приложение заполнено PDF-файлами, включающими руководство сотрудника, документ о преимуществах и список ролей и ожиданий компании.
Следуя инструкциям в этой статье, вы:
- Разверните приложение чата в Azure для общедоступного доступа в веб-браузере.
- Повторно разверните приложение чата с частными конечными точками.
После завершения этой процедуры можно начать изменение нового проекта с помощью пользовательского кода и повторного развертывания, зная, что ваше приложение чата доступно только через частную сеть.
Обзор архитектуры
Развертывание по умолчанию создает приложение чата с общедоступными конечными точками.
Для приложений чата, обогащенных частными данными, защита доступа к приложению чата имеет решающее значение. В этой статье представлено решение с помощью виртуальной сети.
В виртуальной сети существует отдельная подсеть для приложения Службы приложений Azure и других внутренних служб Azure. Эта структура упрощает применение различных правил группы безопасности сети к каждой подсети.
В виртуальной сети службы используют частные конечные точки для взаимодействия друг с другом. Каждая частная конечная точка связана с зоной частного доменного имени (DNS), чтобы сопоставить имя частной конечной точки с IP-адресом в границах виртуальной сети.
Действия по развертыванию
Разверните решение дважды. Разверните один раз с общедоступным доступом, чтобы убедиться, что приложение чата работает правильно. Снова разверните приватный доступ для защиты приложения чата с помощью виртуальной сети.
Предпосылки
Вам нужна среда контейнера разработки со всеми зависимостями, необходимыми для завершения этой статьи. Контейнер разработки можно запустить в GitHub Codespaces (в браузере) или локально с помощью Visual Studio Code.
Чтобы использовать эту статью, необходимо выполнить следующие предварительные требования.
- Подписка Azure. Создайте ее бесплатно.
- Разрешения учетной записи Azure. У вашей учетной записи Azure должны быть разрешения
Microsoft.Authorization/roleAssignments/write, например, Администратор доступа пользователей или Владелец. - Учетная запись GitHub.
Затраты на использование образцов ресурсов
Большинство ресурсов, используемых в этой архитектуре, попадают под базовые или ценовые категории на основе потребления. Эта модель ценообразования означает, что вы оплачиваете только то, что вы используете, и плата обычно минимальна во время разработки или тестирования.
Развертывание с помощью частной сети добавляет дополнительные затраты на развертывание. Завершив оценку или развертывание приложения, удалите все подготовленные ресурсы, чтобы избежать текущих расходов.
Подробные сведения о ожидаемых затратах см. в разделе "Перед началом работы" в репозитории GitHub для примера.
Открытие среды разработки
Используйте следующие инструкции для развертывания предварительно настроенной среды разработки, содержащей все необходимые зависимости для выполнения этой статьи.
- GitHub Codespaces (рекомендуется)
- Visual Studio Code
GitHub Codespaces запускает контейнер разработки, управляемый GitHub, с Visual Studio Code для Web в качестве пользовательского интерфейса. Для наиболее простой среды разработки используйте GitHub Codespaces, чтобы у вас были правильные средства разработчика и зависимости, предварительно установленные для выполнения этой статьи.
Это важно
Все учетные записи GitHub могут использовать GitHub Codespaces до 60 часов бесплатно каждый месяц на двух процессорных ядрах. Дополнительные сведения см. в разделе о ежемесячно включаемом объеме хранилища и основных часах GitHub Codespaces.
Запустите процесс, чтобы создать новое пространство кода GitHub в
mainветви репозитория GitHub Azure-Samples/azure-search-openai-demo GitHub.Щелкните правой кнопкой мыши следующую кнопку и выберите "Открыть ссылку" в новых окнах , чтобы среда разработки и документация была доступна одновременно.
На странице "Создание пространства кода " просмотрите параметры конфигурации пространства кода и выберите "Создать пространство кода".
Дождитесь запуска рабочего пространства кода. Этот процесс запуска может занять несколько минут.
В терминале в нижней части экрана войдите в Azure с помощью Интерфейса командной строки разработчика Azure:
azd auth loginСкопируйте код из терминала и вставьте его в браузер. Следуйте инструкциям по проверке подлинности с помощью учетной записи Azure.
Остальные задачи в этой статье выполняются в контексте этого контейнера разработки.
Настраиваемые параметры
Это решение настраивает и развертывает инфраструктуру на основе настраиваемых параметров, настроенных с помощью интерфейса командной строки разработчика Azure. В следующей таблице описываются пользовательские параметры для этого решения.
| Настройки | Описание |
|---|---|
AZURE_PUBLIC_NETWORK_ACCESS |
Управляет значением доступа к общедоступной сети в поддерживаемых ресурсах Azure. Допустимые значения — Enabled или Disabled. |
AZURE_USE_PRIVATE_ENDPOINT |
Управляет развертыванием частных конечных точек, которые подключают ресурсы Azure к виртуальной сети. Значение TRUE означает, что частные конечные точки развертываются для подключения. |
AZURE_USE_VPN_GATEWAY |
Управляет развертыванием VPN-шлюза для виртуальной сети. Если вы не используете этот параметр и отключите общедоступный доступ, вам потребуется другой способ подключения к виртуальной сети. Значение TRUE означает, что VPN-шлюз развертывается для подключения. |
Развертывание приложения чата
Первое развертывание создает ресурсы и предоставляет общедоступную конечную точку.
Выполните следующую команду, чтобы настроить это решение для общедоступного доступа:
azd env set AZURE_PUBLIC_NETWORK_ACCESS EnabledПри запросе имени среды помните, что имя среды используется для создания группы ресурсов. Введите понятное имя. Если вы находитесь в команде или организации, укажите свое имя, как в
morgan-chat-private-endpoints. Запишите имя среды. Вам потребуется позже найти ресурсы на портале Azure.Выполните следующую команду, чтобы включить процесс подготовки ресурсов виртуальной сети. Помните, что развертывание не ограничивает доступ до второго развертывания.
azd env set AZURE_USE_PRIVATE_ENDPOINT trueРазверните решение с помощью следующей команды:
azd upПодготовка ресурсов — это наиболее трудоемкая часть процесса развертывания. Дождитесь завершения развертывания, прежде чем продолжить.
В конце процесса развертывания появится конечная точка приложения. Скопируйте конечную точку в браузер, чтобы открыть приложение чата. Выберите один из вопросов на карточках, а затем дождитесь ответа.
Запишите URL-адрес конечной точки, так как он понадобится позже в статье.
Развертывание приложения чата в Azure с частным доступом
Измените конфигурацию развертывания, чтобы защитить приложение чата для закрытого доступа.
Выполните следующую команду, чтобы использовать VPN-шлюз для доступа к виртуальной сети:
azd env set AZURE_USE_VPN_GATEWAY trueВыполните следующую команду, чтобы отключить общедоступный доступ:
azd env set AZURE_PUBLIC_NETWORK_ACCESS DisabledВыполните следующую команду, чтобы изменить конфигурацию ресурса. Эта команда не развертывает код приложения, так как изменена только конфигурация инфраструктуры.
azd provisionПосле завершения подготовки снова откройте приложение чата в браузере. Приложение чата больше не доступно, так как общедоступная конечная точка отключена.
Доступ к приложению чата
Чтобы получить доступ к приложению чата, используйте средство, например VPN-шлюз Azure или виртуальный рабочий стол Azure. Помните, что любой инструмент, используемый для доступа к приложению, должен быть безопасным и соответствует политикам безопасности вашей организации.
Очистка ресурсов
В следующих шагах описан процесс очистки используемых ресурсов.
Очистка ресурсов Azure
Если в будущем не требуется Azure ресурсов, удалите их, чтобы избежать текущих затрат.
Выполните следующую команду cli разработчика Azure, чтобы удалить ресурсы Azure:
azd down --purge
Удаление среды GitHub Codespaces гарантирует, что вы можете максимально использовать объем бесплатных часовых квот на ядро, предоставляемых для учетной записи.
Это важно
Дополнительные сведения о правах вашей учетной записи GitHub см. в разделе о ежемесячно включенном объеме хранилища и основных часах использования GitHub Codespaces.
Найдите ваши запущенные пространства кода, которые имеют источник из репозитория Azure-Samples/azure-search-openai-demo на GitHub.
Откройте контекстное меню для пространства кода и нажмите кнопку "Удалить".
Получите помощь
Этот репозиторий предлагает сведения об устранении неполадок.
Если проблема не устранена, добавьте проблему на веб-страницу "Проблемы репозитория".
Связанный контент
- Смотрите репозиторий GitHub корпоративного чата .
- Создайте чат-приложение с архитектурой решения Azure OpenAI, основанной на лучших практиках.
- Узнайте о управлении доступом в генеративных приложениях ИИ с помощью поиска Azure.