Бөлісу құралы:


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

Навык внедрения Azure OpenAI подключается к развернутой модели внедрения в ресурсе Azure OpenAI для создания внедрения во время индексирования. Данные обрабатываются в географическом расположении, где развернута модель.

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

Примечание.

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

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

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

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

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

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

Входные данные Description
resourceUri Универсальный код ресурса (URI) поставщика моделей в данном случае — ресурс Azure OpenAI. Этот параметр поддерживает только URL-адреса с доменом openai.azure.com, например https://<resourcename>.openai.azure.com. Если конечная точка Azure OpenAI имеет URL-адрес с доменом cognitiveservices.azure.com, например https://<resourcename>.cognitiveservices.azure.com, настраиваемый поддомен должен openai.azure.com быть создан сначала для ресурса Azure OpenAI и использовать https://<resourcename>.openai.azure.com его.
apiKey Секретный ключ, используемый для доступа к модели. Если вы предоставляете ключ, оставьте authIdentity пустым. Если задано и apiKey то, и authIdentityдругое apiKey значение используется в соединении.
deploymentId Имя развернутой модели внедрения Azure OpenAI. Модель должна быть моделью внедрения, например text-embedding-ada-002. Список моделей Azure OpenAI для поддерживаемых моделей.
authIdentity Управляемое пользователем удостоверение, используемое службой поиска для подключения к Azure OpenAI. Вы можете использовать системное или пользовательское управляемое удостоверение. Чтобы использовать системное удостоверение, оставьте и authIdentity оставьте apiKey пустым. Управляемое системой удостоверение используется автоматически. Управляемое удостоверение должно иметь разрешения пользователя OpenAI Cognitive Services для отправки текста в Azure OpenAI .
modelName Это свойство необходимо, если набор навыков создан с помощью REST API 2024-05-01-preview или 2024-07-01 REST API. Присвойте этому свойству имя развертывания модели внедрения Azure OpenAI, развернутой на поставщике, указанной resourceUri и определяемой с помощью deploymentId. В настоящее время поддерживаются text-embedding-ada-002значения , text-embedding-3-largeи text-embedding-3-small.
dimensions (Необязательно, представлен в REST API 2024-05-01-preview. Измерения внедрения, которые вы хотите создать, если модель поддерживает уменьшение размеров внедрения. Ниже перечислены поддерживаемые диапазоны. По умолчанию максимальные размеры для каждой модели, если они не указаны. Для наборов навыков, созданных с помощью предварительной версии 2023-10-01-preview, измерения исправлены в 1536.

Поддерживаемые измерения по modelName

Поддерживаемые измерения для навыка внедрения Azure OpenAI зависят от modelName настроенного.

modelName Минимальные измерения Максимальные размеры
text-embedding-ada-002 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small 1 1536

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

Входные данные 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",
  "modelName": "text-embedding-ada-002",
  "dimensions": 1536,
  "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 токенов Ошибка

См. также