Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Навык внедрения Azure OpenAI подключается к модели внедрения, развернутой в ресурсе Azure OpenAI вмодели Foundry или проекте Microsoft Foundry для создания внедрения во время индексирования. Данные обрабатываются в географическом расположении, где развернута модель.
Мастер импорта данных на портале Azure использует навык внедрения Azure OpenAI для векторизации содержимого. Вы можете запустить мастер и просмотреть созданный набор навыков, чтобы узнать, как мастер создает навык для внедрения моделей.
Note
Этот навык привязан к Azure OpenAI и взимается по цене Azure OpenAI Standard.
Prerequisites
Ресурс Azure OpenAI в foundry Models или проект Foundry.
Ресурс Azure OpenAI должен иметь настраиваемый поддомен, например
https://<resource-name>.openai.azure.com. Эту конечную точку можно найти на странице "Ключи и конечная точка " на портале Azure и использовать его дляresourceUriсвойства в этом навыке.Родительский ресурс проекта Foundry предоставляет доступ к нескольким конечным точкам, включая
https://<resource-name>.openai.azure.com,https://<resource-name>.services.ai.azure.comиhttps://<resource-name>.cognitiveservices.azure.com. Эти конечные точки можно найти на странице "Ключи" и "Конечная точка " на портале Azure и использовать их дляresourceUriсвойства в этом навыке.
Модель внедрения Azure OpenAI, развернутая в ресурс или проект. Сведения о поддерживаемых моделях см. в разделе параметров навыка .
@odata.type
Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill
Data limits
Максимальный размер текстового ввода должен составлять 8 000 маркеров. Если входные данные превышают максимально допустимое значение, модель выдает недопустимую ошибку запроса. Дополнительные сведения см. в разделе "Основные понятия токенов " в документации по Azure OpenAI. Если требуется фрагментирование данных, рекомендуется использовать навык разделения текста.
Skill parameters
Параметры чувствительны к регистру.
| Inputs | Description |
|---|---|
resourceUri |
(обязательно) Универсальный код ресурса (URI) поставщика модели. Поддерживаемые домены:
Это поле необходимо, если ресурс развертывается за частной конечной точкой или использует интеграцию виртуальной сети. Конечные точки управления API Azure поддерживаются с URL-адресом |
apiKey |
Секретный ключ, используемый для доступа к модели. Если вы предоставляете ключ, оставьте authIdentity пустым. Если задано и то, apiKey и authIdentityдругое apiKey используется в соединении. |
deploymentId |
(обязательно) Идентификатор развернутой модели внедрения Azure OpenAI. Это имя развертывания, указанное при развертывании модели. |
authIdentity |
Управляемое пользователем удостоверение, используемое службой поиска для подключения. Вы можете использовать системное или управляемое пользователем удостоверение. Чтобы использовать управляемое системой удостоверение, оставьте и apiKey оставьте authIdentity пустым. Управляемое системой удостоверение используется автоматически. Управляемое удостоверение должно иметь разрешения пользователя OpenAI Cognitive Services для отправки текста в Azure OpenAI . |
modelName |
(обязательно) Имя модели Azure OpenAI, развернутой по указанному адресу deploymentId. Поддерживаются значения:
|
dimensions |
(Необязательно) Измерения внедрения, которые требуется создать, при условии, что модель поддерживает диапазон измерений. Значение по умолчанию — это максимальное измерение для каждой модели. Для наборов навыков, созданных с использованием версий REST API до версии 2023-10-01-preview, измерения исправлены в 1536. Если задать dimensions свойство в этом навыке, задайте dimensions для свойства определение поля вектора то же значение. |
Поддерживаемые измерения по modelName
Поддерживаемые измерения для навыка внедрения Azure OpenAI зависят от modelName настроенного.
modelName |
Minimum dimensions | Maximum dimensions |
|---|---|---|
| text-embedding-ada-002 | 1536 | 1536 |
| text-embedding-3-large | 1 | 3072 |
| text-embedding-3-small | 1 | 1536 |
Skill inputs
| Input | Description |
|---|---|
text |
Векторизованный текст. Если вы используете блоки данных, источник может быть /document/pages/*. |
Skill outputs
| Output | Description |
|---|---|
embedding |
Векторное внедрение для входного текста. |
Sample definition
Рассмотрим запись со следующими полями:
{
"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"
}
]
}
Sample output
Для заданного входного текста создается векторизованный результат внедрения.
{
"embedding": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
Выходные данные находятся в памяти. Чтобы отправить эти выходные данные в поле в индексе поиска, необходимо определить outputFieldMapping , который сопоставляет векторизованные выходные данные внедрения (массив) с полем вектора. Предполагая, что выходные данные навыка находятся на узле внедрения документа, и content_vector поле в индексе поиска, выходные данныеFieldMapping в индексаторе должны выглядеть следующим образом:
"outputFieldMappings": [
{
"sourceFieldName": "/document/embedding/*",
"targetFieldName": "content_vector"
}
]
Best practices
Ниже приведены некоторые рекомендации, которые необходимо учитывать при использовании этого навыка:
Если вы нажимаете ограничение azure OpenAI TPM (токены в минуту), рассмотрите рекомендации по ограничениям квот, чтобы вы могли соответствующим образом решить эту проблему. Дополнительные сведения о производительности экземпляра Azure OpenAI см. в документации по мониторингу Azure OpenAI.
Развертывание модели внедрения Azure OpenAI, используемое для этого навыка, должно быть идеально отдельно от развертывания, используемого для других вариантов использования, включая векторизатор запросов. Это помогает каждому развертыванию адаптироваться к конкретному варианту использования, что приводит к оптимизации производительности и идентификации трафика от индексатора и вызовов внедрения индекса.
Экземпляр Azure OpenAI должен находиться в одном регионе или по крайней мере географически близко к региону, где размещен служба ИИ. Это снижает задержку и повышает скорость передачи данных между службами.
Если в документации по квотам и ограничениям больше по умолчанию Azure OpenAI TPM (токены в минуту), откройте вариант поддержки в группе поиска ИИ Azure, чтобы это можно было соответствующим образом изменить. Это помогает процессу индексирования не замедляться за счет задокументированного ограничения доверенного платформенного модуля по умолчанию, если у вас есть более высокие ограничения.
Примеры и примеры рабочего кода с помощью этого навыка см. в следующих ссылках:
Ошибки и предупреждения
| Condition | Result |
|---|---|
| Null или недопустимый универсальный код ресурса (URI) | Error |
| Null или invalid deploymentID | Error |
| Текст пуст | Warning |
| Текст больше 8000 токенов | Error |