Навык внедрения Azure OpenAI

Внимание

Эта функция предоставляется в общедоступной предварительной версии, и к ней применяются дополнительные Условия использования. REST API 2023-10-01-Preview поддерживает эту функцию.

Навык внедрения Azure OpenAI подключается к развернутой модели внедрения в ресурсе Azure OpenAI для создания внедрения.

Импорт и векторизация данных использует навык внедрения Azure OpenAI для векторизации содержимого. Вы можете запустить мастер и просмотреть созданный набор навыков, чтобы узнать, как мастер создает его.

Примечание.

Этот навык привязан к Azure OpenAI и взимается с существующей оплаты Azure OpenAI по мере использования.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Ограничения данных

Максимальный размер текстового ввода должен составлять 8 000 маркеров. Если входные данные превышают максимально допустимое значение, модель выдает недопустимую ошибку запроса. Дополнительные сведения см. в разделе "Основные понятия токенов " в документации по Azure OpenAI. Если требуется фрагментирование данных, рекомендуется использовать навык разделения текста.

Параметры навыков

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

Входные данные Description
resourceUri URI поставщика моделей, например ресурс Azure OpenAI или URL-адрес OpenAI.
apiKey Секретный ключ, используемый для доступа к модели. Если вы предоставляете ключ, оставьте authIdentity пустым. Если задано и apiKey то, и authIdentityдругое apiKey значение используется в соединении.
deploymentId Имя развернутой модели внедрения Azure OpenAI. Модель должна быть моделью внедрения, например text-embedding-ada-002. Список моделей Azure OpenAI для поддерживаемых моделей.
authIdentity Управляемое пользователем удостоверение, используемое службой поиска для подключения к Azure OpenAI. Вы можете использовать системное или пользовательское управляемое удостоверение. Чтобы использовать системное удостоверение, оставьте и authIdentity оставьте apiKey пустым. Управляемое системой удостоверение используется автоматически. Управляемое удостоверение должно иметь разрешения пользователя OpenAI Cognitive Services для отправки текста в Azure OpenAI .

Входные данные навыков

Входные данные Description
text Векторизованный текст. Если вы используете блоки данных, источник может быть /document/pages/*.

Выходные данные навыка

Выходные данные Description
embedding Векторное внедрение для входного текста.

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

Рассмотрим запись со следующими полями:

{
    "content": "Microsoft released Windows 10."
}

Затем определение навыка может выглядеть следующим образом:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Пример полученных результатов

Для заданного входного текста создается векторизованный результат внедрения.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

Выходные данные находятся в памяти. Чтобы отправить эти выходные данные в поле в индексе поиска, необходимо определить outputFieldMapping , который сопоставляет векторизованные выходные данные внедрения (массив) с полем вектора. Предполагая, что выходные данные навыка находятся на узле внедрения документа, и content_vector поле в индексе поиска, выходные данныеFieldMapping в индексаторе должны выглядеть следующим образом:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

Рекомендации

Ниже приведены некоторые рекомендации, которые необходимо учитывать при использовании этого навыка:

  • Если вы нажимаете ограничение azure OpenAI TPM (токены в минуту), рассмотрите рекомендации по ограничениям квот, чтобы вы могли соответствующим образом решить эту проблему. Дополнительные сведения о производительности экземпляра Azure OpenAI см. в документации по мониторингу Azure OpenAI.
  • Развертывание модели внедрения Azure OpenAI, используемое для этого навыка, должно быть идеально отдельно от развертывания, используемого для других вариантов использования, включая векторизатор запросов. Это помогает каждому развертыванию адаптироваться к конкретному варианту использования, что приводит к оптимизации производительности и идентификации трафика от индексатора и вызовов внедрения индекса.
  • Экземпляр Azure OpenAI должен находиться в одном регионе или по крайней мере географически близко к региону, где размещен служба ИИ. Это снижает задержку и повышает скорость передачи данных между службами.
  • Если в документации по квотам и ограничениям больше по умолчанию Azure OpenAI TPM (токены в минуту), откройте вариант поддержки в группе поиска ИИ Azure, чтобы это можно было соответствующим образом изменить. Это помогает процессу индексирования не замедляться за счет задокументированного ограничения доверенного платформенного модуля по умолчанию, если у вас есть более высокие ограничения.

Ошибки и предупреждения

Condition Результат
Null или недопустимый универсальный код ресурса (URI) Ошибка
Null или invalid deploymentID Ошибка
Текст пуст Предупреждение
Текст больше 8000 токенов Ошибка

См. также