Общие сведения о возможностях шлюза искусственного интеллекта в Azure Управление API
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
В этой статье представлены возможности в Azure Управление API для управления созданными API-интерфейсами искусственного интеллекта, такими как предоставляемые Службой OpenAI Azure. Azure Управление API предоставляет ряд политик, метрик и других функций для повышения безопасности, производительности и надежности API, обслуживающих интеллектуальные приложения. В совокупности эти функции называются возможностями шлюза искусственного интеллекта (GenAI) для созданных API-интерфейсов искусственного интеллекта.
Примечание.
- В этой статье рассматриваются возможности управления API, предоставляемыми службой Azure OpenAI. Многие возможности шлюза GenAI применяются к другим api-интерфейсам большой языковой модели (LLM), включая доступные через API вывода моделей ИИ Azure.
- Возможности создания шлюза ИИ — это функции существующего шлюза API Управление API, а не отдельного шлюза API. Дополнительные сведения о Управление API см. в обзоре Управление API Azure.
Проблемы в управлении api-интерфейсами создания искусственного интеллекта
Одним из основных ресурсов, которые вы используете в созданных службах ИИ, являются токены. Служба Azure OpenAI назначает квоту для развертываний моделей, выраженных в токенах в минуту (TPM), которая затем распределяется между потребителями модели, например различными приложениями, командами разработчиков, отделами в компании и т. д.
Azure упрощает подключение одного приложения к службе Azure OpenAI. Вы можете подключиться непосредственно с помощью ключа API с ограничением доверенного платформенного модуля, настроенного непосредственно на уровне развертывания модели. Однако при запуске роста портфеля приложений вы предоставляете несколько приложений, вызывающих один или даже несколько конечных точек службы Azure OpenAI, развернутых как экземпляры единиц пропускной способности по мере использования или подготовленных единиц пропускной способности (PTU). Это связано с определенными проблемами:
- Как отслеживается использование маркеров в нескольких приложениях? Можно ли вычислить перекрестные расходы для нескольких приложений или команд, использующих модели служб Azure OpenAI?
- Как убедиться, что одно приложение не использует всю квоту доверенного платформенного модуля, оставляя другие приложения без возможности использовать модели Azure OpenAI Service?
- Как ключ API безопасно распределяется между несколькими приложениями?
- Как распределяется нагрузка между несколькими конечными точками Azure OpenAI? Можете ли вы убедиться, что зафиксированная емкость в PTUs исчерпана, прежде чем вернуться к экземплярам с оплатой по мере использования?
В остальной части этой статьи описывается, как azure Управление API поможет решить эти проблемы.
Импорт ресурса Службы Azure OpenAI в качестве API
Импорт API из конечной точки службы OpenAI Azure в управление API Azure с помощью единого щелчка мыши. Управление API упрощает процесс подключения, автоматически импортируя схему OpenAPI для API Azure OpenAI и настраивая проверку подлинности в конечную точку Azure OpenAI с помощью управляемого удостоверения, удаляя необходимость ручной настройки. В рамках того же пользовательского интерфейса можно предварительно настроить политики для ограничений маркеров и создания метрик маркеров.
Политика ограничения маркеров
Настройте политику ограничения маркеров Azure OpenAI для управления и принудительного применения ограничений для каждого потребителя API на основе использования маркеров службы Azure OpenAI. С помощью этой политики можно задать ограничения, выраженные в маркерах в минуту (TPM).
Эта политика обеспечивает гибкость для назначения ограничений на основе маркеров для любого ключа счетчика, например ключа подписки, исходного IP-адреса или произвольного ключа, определенного с помощью выражения политики. Политика также включает предварительное вычисление маркеров запроса на стороне Azure Управление API, минимизируя ненужные запросы к серверной части службы Azure OpenAI, если запрос уже превышает ограничение.
В следующем базовом примере показано, как задать ограничение доверенного платформенного модуля в 500 на ключ подписки:
<azure-openai-token-limit counter-key="@(context.Subscription.Id)"
tokens-per-minute="500" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens">
</azure-openai-token-limit>
Совет
Чтобы управлять и применять ограничения маркеров для API LLM, доступных через API вывода модели ИИ Azure, Управление API предоставляет эквивалентную политику llm-token-limit.
Выдача политики метрик маркера
Политика метрик маркера Azure OpenAI отправляет метрики в Application Insights об использовании маркеров LLM через API-интерфейсы Службы OpenAI Azure. Эта политика помогает предоставить обзор использования моделей Службы Azure OpenAI для нескольких приложений или потребителей API. Эта политика может быть полезна для сценариев обратной оплаты, мониторинга и планирования емкости.
Эта политика записывает метрики использования маркеров и отправляет их в выбранное пространство имен Application Insights. Кроме того, можно настроить или выбрать из предопределенных измерений для разделения метрик использования маркеров, чтобы вы могли анализировать метрики по идентификатору подписки, IP-адресу или пользовательскому измерению.
Например, следующая политика отправляет метрики в Application Insights по IP-адресу клиента, API и пользователю:
<azure-openai-emit-token-metric namespace="openai">
<dimension name="Client IP" value="@(context.Request.IpAddress)" />
<dimension name="API ID" value="@(context.Api.Id)" />
<dimension name="User ID" value="@(context.Request.Headers.GetValueOrDefault("x-user-id", "N/A"))" />
</azure-openai-emit-token-metric>
Совет
Чтобы отправлять метрики для API-интерфейсов LLM, доступных через API вывода модели ИИ Azure, Управление API предоставляет эквивалентную политику метрики llm-emit-token-metric.
Подсистема балансировки нагрузки серверной части и подсистема разбиения цепи
Одна из проблем при создании интеллектуальных приложений заключается в том, чтобы обеспечить устойчивость приложений к сбоям серверной части и может обрабатывать высокие нагрузки. Настроив конечные точки службы Azure OpenAI с помощью серверных компонентов в Azure Управление API, вы можете сбалансировать нагрузку между ними. Вы также можете определить правила разбиения цепи, чтобы остановить перенаправление запросов на серверные серверы службы Azure OpenAI, если они не реагируют.
Серверная подсистема балансировки нагрузки поддерживает циклический перебор, весовый и приоритетный балансировку нагрузки, обеспечивая гибкость в определении стратегии распределения нагрузки, которая соответствует вашим конкретным требованиям. Например, определите приоритеты в конфигурации подсистемы балансировки нагрузки, чтобы обеспечить оптимальное использование определенных конечных точек Azure OpenAI, особенно тех, которые приобрели как PTUs.
Серверный выключатель включает динамическую длительность поездки, применяя значения из заголовка Retry-After, предоставленного серверной частью. Это обеспечивает точное и своевременное восстановление серверной части, максимизируя использование ваших приоритетных серверных служб.
Политика семантического кэширования
Настройте политики семантического кэширования Azure OpenAI для оптимизации использования маркера, сохраняя завершения для аналогичных запросов.
В Управление API включите семантический кэширование с помощью Azure Redis Enterprise или другого внешнего кэша, совместимого с RediSearch и подключенного к Azure Управление API. Используя API внедрения служб OpenAI Azure, azure-openai-semantic-cache-store и azure-openai-semantic-cache-lookup policies и извлекает семантические завершения запроса из кэша. Этот подход обеспечивает повторное использование завершений, что приводит к снижению потребления маркеров и повышению производительности ответа.
Совет
Чтобы включить семантический кэширование для API LLM, доступных через API вывода модели ИИ Azure, Управление API предоставляет эквивалентные политики llm-semantic-cache-store-и llm-semantic-cache-lookup-policy.
Лаборатории и примеры
- Лаборатории для возможностей шлюза GenAI в Azure Управление API
- Azure Управление API (APIM) — пример Azure OpenAI (Node.js)
- Пример кода Python для использования Azure OpenAI с Управление API
Рекомендации по архитектуре и проектированию
- Эталонная архитектура шлюза GenAI с помощью Управление API
- Акселератор целевой зоны шлюза ИИ
- Проектирование и реализация решения шлюза с помощью ресурсов Azure OpenAI
- Использование шлюза перед несколькими развертываниями или экземплярами Azure OpenAI
Связанный контент
- Блог. Знакомство с возможностями GenAI в Azure Управление API
- Блог. Интеграция безопасности содержимого Azure с Управление API для конечных точек Azure OpenAI
- Учебный курс. Управление созданными API-интерфейсами ИИ с помощью Azure Управление API
- Интеллектуальная балансировка нагрузки для конечных точек OpenAI и Azure Управление API
- Проверка подлинности и авторизация доступа к API Azure OpenAI с помощью Управление API Azure