Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как развернуть и запустить пример приложение "Чат с вашими данными для Java". В этом примере реализовано приложение чата с помощью Java, моделей Azure OpenAI в Microsoft Foundry и дополненной генерации на основе поиска (RAG) в Поиск с использованием ИИ Azure для получения ответов о льготах сотрудников в вымышленной компании. Приложение заполнено PDF-файлами, включая руководство сотрудника, документ о преимуществах и список ролей и ожиданий компании.
В этой статье вы выполните следующие задачи:
- Разверните чатовое приложение в Azure.
- Получите ответы о преимуществах сотрудников.
- Измените параметры, чтобы изменить поведение ответов.
Завершив эту статью, вы можете начать изменение нового проекта с помощью пользовательского кода.
Эта статья является частью коллекции статей, в которые показано, как создать приложение чата с помощью моделей Azure OpenAI в Microsoft Foundry и поиске ИИ Azure. Другие статьи в коллекции включают:
- .NET
- JavaScript
- Python
Примечание.
В этой статье в качестве основы для примеров и рекомендаций используются один или несколько шаблонов приложений искусственного интеллекта. Шаблоны приложений ИИ предоставляют вам хорошо поддерживаемые и простые в развертывании эталонные реализации, которые помогают обеспечить высококачественную отправную точку для приложений ИИ.
Обзор архитектуры
На следующей схеме показана простая архитектура для приложения чата:
Схема, показывающая архитектуру от клиента к серверному приложению.
Ключевые компоненты архитектуры:
- Веб-приложение, в котором размещен интерактивный интерфейс чата.
- Ресурс Поиск с использованием ИИ Azure, который получает ответы из собственных данных.
- Служба Azure OpenAI, предоставляющий:
- Ключевые слова для улучшения поиска по собственным данным.
- Ответы из модели OpenAI.
- Внедрение из модели ada.
Себестоимость
Большинство ресурсов, используемых в этой архитектуре, попадают под базовые или ценовые категории на основе потребления. Эта модель ценообразования означает, что вы оплачиваете только то, что вы используете, и плата обычно минимальна во время разработки или тестирования.
Чтобы выполнить этот пример, вам, возможно, придётся понести небольшие расходы на использование таких служб, как Azure OpenAI, Azure AI Search и службы хранения. После завершения оценки или развертывания приложения удалите все подготовленные ресурсы, чтобы избежать текущих расходов.
Дополнительные сведения о затратах можно найти в примере из репозитория.
Предварительные условия
Для выполнения этой статьи требуется среда контейнера разработки со всеми зависимостями, необходимыми для выполнения этой статьи. Контейнер разработки можно запустить в GitHub Codespaces (в браузере) или локально с помощью Visual Studio Code.
Чтобы использовать эту статью, вам потребуются следующие предварительные требования:
- Пространства кода (рекомендуется)
- Visual Studio Code
- Подписка Azure— создать ее бесплатно.
- Разрешения учетной записи Azure — у вашей учетной записи Azure должны быть разрешения
Microsoft.Authorization/roleAssignments/write, например, администратора доступа пользователей или владельца. - Учетная запись GitHub.
Открытие среды разработки
Настройте среду разработки со всеми зависимостями, установленными для выполнения этой статьи.
- GitHub Codespaces (рекомендуется)
- Visual Studio Code
GitHub Codespaces запускает контейнер разработки, управляемый GitHub, с Visual Studio Code для веб как пользовательский интерфейс. Для наиболее простой среды разработки используйте GitHub Codespaces, чтобы у вас были правильные средства разработчика и зависимости, предварительно установленные для выполнения этой статьи.
Внимание
Все учетные записи GitHub могут использовать Codespaces в течение до 60 часов бесплатно каждый месяц на двухядровых экземплярах. Дополнительные сведения см. в GitHub Codespaces включенного в тарифы хранения и основных часов в месяц.
Щелкните правой кнопкой мыши следующую кнопку и выберите "Открыть ссылку" в новом окне , чтобы вы могли одновременно использовать среду разработки и документацию.
В разделе "Создание пространства кода" просмотрите параметры конфигурации пространства кода и выберите "Создать пространство кода".
Снимок экрана подтверждающего экрана перед созданием нового кодового пространства.
Дождитесь запуска пространства кода. Этот процесс запуска может занять несколько минут.
В терминале в нижней части экрана войдите в Azure с помощью интерфейса командной строки разработчика Azure.
azd auth login --use-device-codeСкопируйте код из терминала и вставьте его в браузер. Следуйте инструкциям для проверки подлинности с помощью учетной записи Azure.
Остальные задачи в этой статье выполняются в контексте этого контейнера разработки.
Развертывание и запуск
Пример репозитория содержит все файлы кода и конфигурации, необходимые для развертывания приложения чата в Azure. Ниже приведены инструкции по развертыванию примера в Azure.
Развертывание приложения чата в Azure
Внимание
Ресурсы Azure, созданные в этом разделе, в частности Поиск с использованием ИИ Azure, могут начать тарифицироваться сразу после их подготовки к использованию, даже если развертывание будет прервано до завершения. Чтобы избежать непредвиденных расходов, отслеживайте использование Azure и удалите неиспользуемые ресурсы сразу после тестирования.
Выполните следующую команду, чтобы подготовить ресурсы Azure и развернуть исходный код:
azd upЕсли вам будет предложено ввести имя среды, сохраните его в коротком и нижнем регистре, например,
myenv. Имя среды используется как часть имени группы ресурсов.При появлении запроса выберите подписку, в которой будут созданы ресурсы.
При появлении запроса на выбор расположения в первый раз выберите расположение рядом с вами. Это местоположение используется для большинства ресурсов, включая хостинг.
Если появится запрос на расположение для модели OpenAI, выберите расположение, которое находится рядом с вами. Если то же расположение доступно в качестве первого расположения, выберите это расположение.
Дождитесь развертывания приложения, которое может занять 5–10 минут.
После успешного развертывания приложения в терминале отображается URL-адрес.
Выберите URL-адрес, помеченный
Deploying service webдля открытия приложения чата в браузере.
Использование приложения чата для получения ответов из PDF-файлов
Приложение чата предварительно загружено информацией о льготах сотрудников из PDF-файлов. Вы можете использовать приложение чата, чтобы задать вопросы о преимуществах. В следующих шагах описан процесс использования приложения чата.
В браузере выберите или введите Что входит в план Northwind Health Plus, который не входит в стандартный план? в текстовом поле чата.
В ответе выберите один из ссылок.
Скриншот с первым ответом приложения чата, где ссылка выделена красной рамкой.
На правой панели используйте вкладки, чтобы понять, как был создан ответ.
Вкладка Описание Процесс мысли Скрипт взаимодействия в чате. Вспомогательное содержимое Содержит сведения для ответа на ваш вопрос и исходный материал. Источник Отображает pdf-страницу, содержащую ссылку. По завершении выберите выбранную вкладку, чтобы закрыть панель.
Использование параметров приложения чата для изменения поведения ответов
Модель OpenAI и параметры, используемые для взаимодействия с моделью, определяют аналитику приложения чата.
Снимок экрана параметров разработчика чата.
Ниже описан процесс изменения параметров.
В браузере перейдите на вкладку "Параметры разработчика ".
Установите флажок Предложить дальнейшие вопросы и задайте один и тот же вопрос еще раз.
What is my deductible?Чат возвращает предлагаемые дополнительные вопросы, такие как эти:
1. What is the cost sharing for out-of-network services? 2. Are preventive care services subject to the deductible? 3. How does the prescription drug deductible work?На вкладке "Настройки" снимите флажок "Использовать семантический ранжировщик для извлечения".
Задайте тот же вопрос снова?
What is my deductible?Что такое разница в ответах?
Например, ответ, который использовал семантический рангер, предоставил один ответ:
The deductible for the Northwind Health Plus plan is $2,000 per yearОтвет без семантического ранжирования вернул результат, который потребовал больше усилий для получения ответа:
Based on the information provided, it is unclear what your specific deductible is. The Northwind Health Plus plan has different deductible amounts for in-network and out-of-network services, and there is also a separate prescription drug deductible. I would recommend checking with your provider or referring to the specific benefits details for your plan to determine your deductible amountНа основании предоставленной информации, неясно, какова ваша конкретная франшиза. План Northwind Health Plus предусматривает разные суммы франшизы для услуг внутри сети и вне сети, а также имеется отдельная франшиза на рецептурные лекарства. Я бы рекомендовал обратиться к вашему поставщику или ознакомиться с конкретными деталями выгод вашего плана, чтобы определить сумму вашей франшизы.
Очистка ресурсов
После завершения упражнения удалите все ресурсы, которые больше не нужны.
Очистка ресурсов Azure
Ресурсы Azure, созданные в этой статье, по которым выставляется счет на оплату, связаны с вашей подпиской Azure. Если вы не ожидаете, что эти ресурсы потребуются в будущем, удалите их, чтобы избежать дополнительных расходов. Используйте следующую команду, чтобы удалить ресурсы Azure и удалить исходный код:
azd down --purge
Очистите GitHub Codespaces
- GitHub Кодспейсы
- Visual Studio Code
Удаление среды GitHub Codespaces гарантирует, что вы можете максимально увеличить объем бесплатных прав на базовые часы, которые вы получаете для вашей учетной записи.
Внимание
Для получения дополнительной информации о правах вашей учетной записи GitHub см. статью Ежемесячно включенное хранилище и основные часы в GitHub Codespaces.
Войдите на панель мониторинга GitHub Codespaces.
Найдите запущенные в настоящий момент Codespaces из репозитория GitHub Azure-Samples/azure-search-openai-demo-java.
Снимок экрана всех работающих пространств Codespaces, включая их статус и шаблоны.
Откройте контекстное меню для пространства кода и нажмите кнопку "Удалить".
Снимок экрана контекстного меню для одной инстанции Codespace с выделенной опцией удаления.
Как ответить на вопрос?
Приложение разделено на два приложения:
- Интерфейсное приложение JavaScript, использующее платформу React с инструментом сборки Vite.
- Серверное приложение Java, которое отвечает на этот вопрос.
API /chat пошагово выполняет процесс получения ответа:
- Создание параметров RAG: создание ряда параметров, используемых для формирования ответа.
- Создание подхода с использованием моделей RAG: применяйте сочетание моделей, основанных на извлечении информации, и генеративных моделей для разработки подхода, обеспечивающего точный и естественный отклик.
- Запустите подход с параметрами RAG и предыдущей беседой: используйте подход и параметры RAG для создания ответа на основе предыдущей беседы. Ответ содержит сведения о том, какие документы использовались для создания ответа.
Получить помощь
Этот пример репозитория предлагает сведения об устранении неполадок. Если ваша проблема не устранена, зарегистрируйте её в разделе Проблемырепозитория.
Следующие шаги
- Получите исходный код для примера, используемого в этой статье
- Создание чат-приложения с использованием оптимальной архитектуры решения Azure OpenAI
- Управление доступом в генеративных приложениях ИИ с Поиск с использованием ИИ Azure
- Создание готового для предприятия решения OpenAI на основе управления API Azure
- Превосходство векторного поиска с гибридными возможностями извлечения и ранжирования
- Дополнительные комплексные шаблоны Azure AI
Снимок экрана: первый ответ приложения чата.