Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Все уровни управления API
Включение семантического кэширования ответов на запросы API OpenAI Azure для уменьшения требований к пропускной способности и обработке, введенных для внутренних API и снижения задержки, воспринимаемой потребителями API. С помощью семантического кэширования можно возвращать кэшированные ответы для идентичных запросов, а также для запросов, аналогичных по значению, даже если текст не совпадает. Для справки см. Руководство: Использование Azure Cache для Redis в качестве семантического кэша.
Примечание.
Действия по настройке, описанные в этой статье, позволяют включить семантический кэширование для API-интерфейсов OpenAI Azure. Эти шаги можно обобщить, чтобы включить семантические кэширования для соответствующих API больших языковых моделей (LLM), доступных через API вывода модели ИИ Azure.
Предварительные условия
- Для экземпляра API Management необходимо добавить один или несколько API-интерфейсов службы Azure OpenAI. Дополнительные сведения см. в статье "Добавление API службы Azure OpenAI" в Azure Управление API.
- Служба Azure OpenAI должна иметь следующие развертывания:
- API завершения чата — развертывание, используемое для вызовов клиентов API
- API встраивания — развертывание, используемое для семантического кэширования.
- Для экземпляра API Management необходимо настроить использование аутентификации с управляемой идентичностью в API Azure OpenAI. Дополнительные сведения см. в статье "Аутентификация и авторизация доступа к API Azure OpenAI" с помощью Azure Управление API.
- Экземпляр Azure Cache для Redis Enterprise или Управляемый Redis Azure.
Модуль RediSearch должен быть включен в кэше Redis.
Примечание.
Можно включить модуль RediSearch только при создании нового кэша Azure Redis Enterprise или Azure Managed Redis. Невозможно добавить модуль в существующий кэш. Подробнее
- Внешний кэш, настроенный в экземпляре Azure API Management. Инструкции см. в статье Об использовании внешнего кэша, совместимого с Redis, в Azure Управление API.
Тестирование развертывания API чата
Сначала проверьте развертывание Azure OpenAI, чтобы убедиться, что API завершения чата или API чата работают должным образом. Инструкции см. в статье "Импорт API OpenAI Azure" в Управление API Azure.
Например, протестируйте API чата Azure OpenAI, отправив запрос POST в конечную точку API с подсказкой в теле запроса. Ответ должен включать выполнение запроса. Пример запроса:
POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01
с текстом запроса:
{"messages":[{"role":"user","content":"Hello"}]}
После успешного выполнения запроса ответ включает завершение сообщения чата.
Создание бэкенда для API эмбеддингов
Настройте ресурс бэкенда для развертывания API встраиваний со следующими настройками.
-
Имя — имя на ваш выбор, например
embeddings-backend
. Это имя используется для ссылки на серверную часть в политиках. - Тип — выбор пользовательского URL-адреса.
-
URL-адрес среды выполнения— URL-адрес развертывания API эмбеддингов в службе Azure OpenAI, аналогично:
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings
-
Учетные данные авторизации— перейдите на вкладку "Управляемое удостоверение ".
- Идентификатор клиента — выберите назначенное системой удостоверение или введите идентификатор клиента управляемого удостоверения, назначаемого пользователем.
-
Идентификатор ресурса. Введите
https://cognitiveservices.azure.com/
для службы Azure OpenAI.
Проверка серверной части
Чтобы протестировать серверную часть, создайте операцию API для API службы Azure OpenAI:
- На вкладке конструктора API нажмите кнопку +Добавить операцию.
- Введите отображаемое имя и, по желанию, имя для операции.
- В разделе frontend в URL-адресе
- На вкладке "Заголовки" добавьте обязательный заголовок с именем
Content-Type
и значениемapplication/json
. - Выберите Сохранить
Настройте следующие политики в разделе обработки входящих данных операции API. В политике set-backend-service замените имя бэкенда, который вы создали.
<policies>
<inbound>
<set-backend-service backend-id="embeddings-backend" />
<authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
[...]
</inbound>
[...]
</policies>
На вкладке "Тест" проверьте операцию, добавив api-version
параметр запроса со значением, 2024-02-01
например. Укажите допустимый текст запроса. Например:
{"input":"Hello"}
Если запрос выполнен успешно, ответ включает векторное представление входного текста:
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Настройка политик семантического кэширования
Чтобы включить семантическое кэширование для Azure OpenAI API в Azure API Management, примените следующие политики: одна для проверки кэша перед отправкой запросов (поиск) и другая для хранения ответов для дальнейшего повторного использования (store):
В разделе Входящая обработка для API добавьте политику azure-openai-semantic-cache-lookup. В атрибуте
embeddings-backend-id
укажите созданную серверную часть API Внедрения.Примечание.
При включении семантического кэширования для других крупных API языковой модели используйте политику llm-semantic-cache-lookup.
Пример:
<azure-openai-semantic-cache-lookup score-threshold="0.8" embeddings-backend-id="embeddings-deployment" embeddings-backend-auth="system-assigned" ignore-system-messages="true" max-message-count="10"> <vary-by>@(context.Subscription.Id)</vary-by> </azure-openai-semantic-cache-lookup>
В разделе "Исходящая обработка" для API добавьте политику azure-openai-semantic-cache-store.
Примечание.
При включении семантического кэширования для других API большой языковой модели используйте политику llm-semantic-cache-store.
Пример:
<azure-openai-semantic-cache-store duration="60" />
Подтверждение кэширования
Чтобы убедиться, что семантическое кэширование работает должным образом, отследите операцию тестового завершения или завершения чата с помощью тестовой консоли на портале. Убедитесь, что кэш использовался при последующих обращениях, проверив данные трассировки. Дополнительные сведения о трассировке вызовов API в Azure Управление API.
Например, если кэш использовался, в разделе выходных данных содержатся записи, аналогичные данным на следующем снимке экрана:
Связанный контент
- Политики кэширования
- Кэш Azure для Redis
- Возможности шлюза искусственного интеллекта в службе "Управление API Azure"