Векторизатор пользовательского веб-API
Настраиваемый векторизатор веб-API позволяет настроить поисковые запросы для вызова конечной точки веб-API для создания внедрения во время запроса. Структура полезных данных JSON, необходимых для реализации в предоставленной конечной точке, описана далее в этом документе. Данные обрабатываются в географическом расположении, где развернута модель.
Векторизаторы используются во время запроса, но указываются в определениях индекса и ссылаются на поля векторов через профиль вектора. Настраиваемый векторизатор веб-API вызывается WebApiVectorizer
в API.
Используйте REST API 2024-07-01 или пакет azure SDK, обновленный для предоставления этой функции.
Настройка векторизатора в индексепоиска содержит инструкции по использованию.
Параметры векторизатора
Параметры зависят от регистра.
Наименование параметра | Description |
---|---|
uri |
Универсальный код ресурса (URI) веб-API, в который отправляется полезные данные JSON. Допускается только схема URI HTTPS. |
httpMethod |
Метод, используемый при отправке полезных данных. Допустимые методы: PUT или POST . |
httpHeaders |
Коллекция пар "ключ-значение", в которых ключи представляют имена заголовков и значения, представляют значения заголовков, отправляемые веб-API вместе с полезными данными. Следующие заголовки запрещены в этой коллекции: Accept , Content-Type Host Cookie TE Accept-Encoding Content-Length Accept-Charset , . Upgrade Via |
authResourceId |
(Необязательно) Строка, которая если задана, указывает, что этот векторизатор должен использовать управляемое удостоверение для подключения к функции или приложению, в котором размещен код. Это свойство принимает идентификатор приложения (клиента) или регистрацию приложения в идентификаторе Microsoft Entra в любом из следующих форматов: api://<appId> , , <appId>/.default api://<appId>/.default . Это значение используется для области маркера проверки подлинности, полученного индексатором, и отправляется вместе с пользовательским запросом веб-API в функцию или приложение. Установка этого свойства требует, чтобы служба поиска была настроена для управляемого удостоверения, а приложение-функция Azure настроено для входа в Microsoft Entra. |
authIdentity |
(Необязательно) Управляемое пользователем удостоверение, используемое службой поиска для подключения к функции или приложению, в котором размещен код. Вы можете использовать системное или пользовательское управляемое удостоверение. Чтобы использовать системное удостоверение, оставьте authIdentity пустым. |
timeout |
(Необязательно.) Если указано, означает время ожидания вызова API HTTP-клиента. Значение должно быть отформатировано как значение dayTimeDuration XSD (ограниченное подмножество значения продолжительности ISO 8601 ). Например, PT60S для 60 секунд. Если не задано, выбирается значение по умолчанию — 30 секунд. Время ожидания можно задать в диапазоне от 1 до 230 секунд. |
Поддерживаемые типы векторных запросов
Векторизатор пользовательского веб-API поддерживает text
и imageBinary
imageUrl
векторные запросы.
Пример определения
"vectorizers": [
{
"name": "my-custom-web-api-vectorizer",
"kind": "customWebApi",
"customWebApiParameters": {
"uri": "https://contoso.embeddings.com",
"httpMethod": "POST",
"httpHeaders": {
"api-key": "0000000000000000000000000000000000000"
},
"timeout": "PT60S",
"authResourceId": null,
"authIdentity": null
},
}
]
Структура полезных данных JSON
Требуемая структура полезных данных JSON, которая ожидается для конечной точки при использовании с пользовательским векторизатором веб-API, аналогична структуре пользовательских навыков веб-API, которая подробно рассматривается в документации по навыку.
При реализации конечной точки веб-API, используемой с пользовательским векторизатором веб-API, следует учитывать следующие рекомендации.
Векторизатор отправляет только одну запись в
values
массиве при выполнении запроса к конечной точке.Векторизатор передает векторные данные, векторизованные в определенный ключ в объекте JSON в
data
полезных данных запроса. Этот ключ имеетtext
значение ,imageUrl
илиimageBinary
в зависимости от типа запроса вектора.Векторизатор ожидает, что результирующее внедрение будет находиться под ключом
vector
вdata
объекте JSON в полезных данных ответа.Все ошибки или предупреждения, возвращаемые конечной точкой, игнорируются векторизатором и недоступны для отладки во время запроса.
Если запрос вектора был запрошен, полезные
imageBinary
данные запроса, отправленные в конечную точку, приведены ниже.{ "values": [ { "recordId": "0", "data": { "imageBinary": { "data": "<base 64 encoded image binary data>" } } } ] }