Начало работы с Azure OpenAI с помощниками и вызовами функций в JavaScript

В этой статье описано, как развернуть и запустить бессерверное краткое руководство по Помощнику Azure OpenAI. В этом примере реализовано приложение с помощниками с использованием JavaScript, помощников Служба Azure OpenAI с вызовом функций и Функции Azure.

Обзор архитектуры

Помощники Azure OpenAI позволяют создавать помощники по искусственному интеллекту, адаптированные к вашим потребностям, с помощью пользовательских инструкций и дополнены расширенными инструментами, такими как интерпретатор кода и пользовательские функции. В этой статье мы предоставляем подробное пошаговое руководство по началу работы с API Помощников.

Схема, показывающая архитектуру от клиента до серверного приложения.

Это приложение построено на основе двух основных компонентов:

  • Простая HTML-страница с обычными файлами CSS и JavaScript, размещённая в Статические веб-приложения Azure.

  • Бессерверный API, созданный с помощью Функции Azure и использующий пакет SDK JavaScript от OpenAI. Бессерверное приложение отправляет определение помощников, включая вызов функции в конечную точку OpenAI. Конечная точка отвечает на последующий вызов функции и параметры, необходимые для выполнения этого вызова.

    • Вызов функции в примере имитирует вызов API, генерируя случайное значение тикера акции на основе биржевого символа, переданного в Azure Function. Это моделирование можно заменить удаленным API в решении.

    Схема, показывающая интеграцию Функции Azure с Azure OpenAI, где Azure OpenAI может возвращать названия функций для последующего вызова, которые должна вызывать Функции Azure.

Предварительные требования

Доступна среда контейнера разработки, содержащая все зависимости, необходимые для выполнения действий, описанных в этой статье. Контейнер разработки можно запустить в GitHub Codespaces (в браузере) или локально с помощью Visual Studio Code.

Чтобы использовать эту статью, вам потребуются следующие предварительные требования:

  1. Подписка Azure — создайте ее бесплатно
  2. Разрешения учетной записи Azure — у вашей учетной записи Azure должно быть разрешение Microsoft.Authorization/roleAssignments/write, например Администратор доступа пользователей или Владелец.
  3. Учетная запись GitHub.

Открытие среды разработки

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

GitHub Codespaces запускает контейнер разработки, управляемый GitHub, где в качестве пользовательского интерфейса используется Visual Studio Code for the Web. Для наиболее простой среды разработки используйте GitHub Codespaces, чтобы у вас были правильные средства разработчика и зависимости, предварительно установленные для выполнения этой статьи.

Внимание

Все учетные записи GitHub могут использовать Codespaces в течение до 60 часов бесплатно каждый месяц на двухядровых экземплярах. Дополнительные сведения см. в разделе Ежемесячно включённые объём хранилища и часы использования ядер в GitHub Codespaces.

  1. Начните создание нового пространства кода GitHub Codespaces в репозитории GitHub main на ветке Azure-Samples/azure-openai-assistant-javascript.

  2. Щелкните правой кнопкой мыши следующую кнопку и выберите "Открыть ссылку" в новых окнах , чтобы среда разработки и документация были доступны одновременно.

    Открыть в GitHub Codespaces

  3. На странице "Создание пространства кода" просмотрите параметры конфигурации пространства кода, а затем выберите "Создать новое пространство кода"

  4. Подождите, пока Codespace запустится. Этот процесс запуска может занять несколько минут.

  5. Войдите в Azure с помощью интерфейса командной строки разработчика Azure в терминале в нижней части экрана.

    azd auth login
    
  6. Скопируйте код из терминала и вставьте его в браузер. Следуйте инструкциям по проверке подлинности с помощью учетной записи Azure.

  7. Остальные задачи в этой статье выполняются в контексте этого контейнера разработки.

Развертывание и запуск

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

Развертывание приложения помощников в Azure

Внимание

Ресурсы Azure, созданные в этом разделе, влекут за собой немедленные расходы, главным образом из-за ресурса Поиск с использованием ИИ Azure. Эти ресурсы могут привести к расходам, даже если вы остановите выполнение команды, прежде чем она завершится.

  1. Выполните следующую команду Командной строки разработчика Azure, чтобы подготовить ресурсы Azure и развернуть исходный код:

    azd up
    
  2. Когда появится запрос на ввод имени среды, используйте короткое имя в нижнем регистре. Например, myenv. Он используется в качестве части имени группы ресурсов.

  3. Когда появится запрос, выберите подписку, в которой нужно создать ресурсы.

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

  5. Если вам будет предложено указать расположение для модели OpenAI, выберите расположение, которое находится рядом с вами. Если то же местоположение доступно в качестве основного, выберите его.

  6. Дождитесь развертывания приложения. Для завершения развертывания может потребоваться 5–10 минут.

  7. После успешного развертывания приложения вы увидите URL-адрес, отображаемый в терминале.

  8. Выберите этот URL-адрес с меткой Deploying service web, чтобы открыть приложение помощника в браузере.

Использование приложения помощника

Используйте приложение помощника, чтобы получить цену MSFTна фондовом рынке. Ниже описан процесс использования приложения помощника. Помощник может отправить вам ответы по электронной почте. Так как функция отправки электронной почты не настроена, измените запрос, чтобы не использовать эту инструкцию.

  1. В браузере скопируйте и вставьте следующий запрос:

    Based on the latest financial data and current stock market trends, can you provide a detailed analysis of Microsoft's current state? Please include insights into their recent performance, market position, and future outlook. Additionally, retrieve and include the latest closing price of Microsoft's stock using its ticker symbol (MSFT).
    
  2. Нажмите кнопку Запустить. Результаты должны выглядеть примерно так, как показано в следующем ответе.

    Снимок экрана первого ответа приложения помощника.

Очистка ресурсов

Очистка ресурсов Azure

Ресурсы Azure, созданные в этой статье, оплачиваются в рамках вашей подписки Azure. Если вы не ожидаете, что эти ресурсы потребуются в будущем, удалите их, чтобы избежать дополнительных расходов.

Выполните следующую команду Командной строки разработчика Azure, чтобы удалить ресурсы Azure и удалить исходный код:

azd down --purge

Очистите GitHub Codespaces

Удаление среды GitHub Codespaces позволяет максимально использовать лимит бесплатных часов на ядро, доступный для вашей учетной записи.

Внимание

Дополнительные сведения о доступных возможностях вашей учетной записи GitHub см. в разделе Ежемесячно включённые хранилище и часы ядра GitHub Codespaces.

  1. Войдите на панель мониторинга GitHub Codespaces.

  2. Найдите пространства кода Codespaces, запущенные в данный момент и созданные из репозитория GitHub Azure-Samples/azure-openai-assistant-javascript.

    Снимок экрана всех запущенных Codespaces, включая их состояние и шаблоны.

  3. Откройте контекстное меню ... для codespace, а затем выберите Delete.

Получить помощь

Этот пример репозитория содержит информацию об устранении неполадок.

Если ваша проблема не решена, сообщите о ней в разделе Issues репозитория.