Навык внедрения Azure OpenAI
Навык внедрения Azure OpenAI подключается к развернутой модели внедрения в ресурсе Azure OpenAI для создания внедрения во время индексирования. Данные обрабатываются в географическом расположении, где развернута модель.
Необходимые компоненты
Служба Azure OpenAI должна иметь связанный настраиваемый поддомен. Если служба была создана с помощью портал Azure, этот поддомен автоматически создается в рамках настройки службы. Убедитесь, что служба включает в себя настраиваемый поддомен перед его использованием с интеграцией поиска ИИ Azure.
Ресурсы Службы OpenAI Azure (с доступом к моделям внедрения), созданным в AI Studio, не поддерживаются. Только ресурсы службы Azure OpenAI, созданные в портал Azure, совместимы с интеграцией навыков внедрения 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 токенов | Ошибка |