Поделиться через


Векторизатор пользовательского веб-API

Настраиваемый векторизатор веб-API позволяет настроить поисковые запросы для вызова конечной точки веб-API для создания внедрения во время запроса. Структура полезных данных JSON, необходимых для реализации в предоставленной конечной точке, описана далее в этом документе. Данные обрабатываются в географическом расположении, где развернута модель.

Хотя векторизаторы используются во время запроса, вы указываете их в определениях индекса и ссылаетесь на них на поля векторов через профиль вектора. Дополнительные сведения см. в разделе "Настройка векторизатора" в индексе поиска.

Настраиваемый вектор веб-API вызывается WebApiVectorizer в REST API. Используйте последнюю стабильную версию индексов— создайте (REST API) или пакет azure SDK, предоставляющий эту функцию.

Параметры векторизатора

Параметры зависят от регистра.

Наименование параметра Описание
uri Универсальный код ресурса (URI) веб-API, в который отправляется полезные данные JSON. Допускается только схема URI HTTPS.
httpMethod Метод, используемый при отправке полезных данных. Допустимые методы: PUT или POST.
httpHeaders Коллекция пар "ключ-значение", в которых ключи представляют имена заголовков и значения, представляют значения заголовков, отправляемые веб-API вместе с полезными данными. Следующие заголовки запрещены в этой коллекции: Accept, Accept-CharsetAccept-EncodingContent-LengthContent-TypeCookieHostTE, . UpgradeVia
authResourceId (Необязательно) Строка, которая если задана, указывает, что этот векторизатор должен использовать управляемое удостоверение для подключения к функции или приложению, в котором размещен код. Это свойство принимает идентификатор приложения (клиента) или регистрацию приложения в идентификаторе Microsoft Entra в любом из следующих форматов: api://<appId>, , <appId>/.defaultapi://<appId>/.default. Это значение используется для области маркера проверки подлинности, полученного индексатором, и отправляется вместе с пользовательским запросом веб-API в функцию или приложение. Установка этого свойства требует, чтобы служба поиска была настроена для управляемого удостоверения, а приложение-функция Azure настроено для входа в Microsoft Entra.
authIdentity (Необязательно) Управляемое пользователем удостоверение, используемое службой поиска для подключения к функции или приложению, в котором размещен код. Вы можете использовать системное или пользовательское управляемое удостоверение. Чтобы использовать управляемое удостоверение системы, оставьте authIdentity пустым.
timeout (Необязательно.) Если указано, означает время ожидания вызова API HTTP-клиента. Значение должно быть отформатировано как значение dayTimeDuration XSD (ограниченное подмножество значения продолжительности ISO 8601 ). Например, PT60S для 60 секунд. Если не задано, выбирается значение по умолчанию — 30 секунд. Время ожидания можно задать в диапазоне от 1 до 230 секунд.

Поддерживаемые типы векторных запросов

Векторизатор пользовательского веб-API поддерживает textи imageUrlimageBinaryвекторные запросы.

Пример определения

"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>"
                    }
                }
            }
        ]
    }
    

См. также