Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Навык Azure OpenAI Embedding подключается к модели вложения, развернутой в вашем проекте Azure OpenAI in Foundry Models или Microsoft Foundry для генерации эмбеддингов во время индексации. Данные обрабатываются в географическом расположении, где развернута модель.
Мастер
Note
Этот навык обязательно Azure OpenAI и оценивается по Azure OpenAI Standard цены.
Необходимые условия
Ресурс OpenAI Azure OpenAI в ресурсе Foundry Models или Foundry project.
Ресурс OpenAI Azure должен иметь поддомен custom, например
https://<resource-name>.openai.azure.com. Эту конечную точку можно найти на странице Keys and Endpoint на портале Azure и использовать его для свойстваresourceUriв этом навыке.Родительский ресурс проекта Foundry предоставляет доступ к нескольким конечным точкам, включая
https://<resource-name>.openai.azure.com,https://<resource-name>.services.ai.azure.comиhttps://<resource-name>.cognitiveservices.azure.com. Эти конечные точки можно найти на странице Keys и Endpoint на портале Azure и использовать их для свойстваresourceUriв этом навыке.
Модель встраивания Azure OpenAI, развернутая на вашем ресурсе или проекте. Для поддерживаемых моделей см. раздел «Параметры навыка ».
@odata.type
Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill
Ограничения данных
Максимальный размер текстового ввода должен составлять 8 000 токенов. Если вход превышает допустимый максимум, модель выдает ошибку недопустимого запроса. Для получения дополнительной информации см. ключевую концепцию tokens в документации Azure OpenAI. Рассмотрите возможность использования навыка Text Split , если вам нужен фрагмент данных.
Параметры навыков
Параметры чувствительны к регистру.
| Входные данные | Описание |
|---|---|
resourceUri |
(обязательно) Универсальный код ресурса (URI) поставщика модели. Поддерживаемые домены:
Это поле необходимо, если ваш ресурс развернут за частной конечной точкой или использует интеграцию с виртуальной сетью (VNet). конечные точки Azure API Management поддерживаются с URL-адресом |
apiKey |
Секретный ключ, используемый для доступа к модели. Если вы предоставите ключ, оставьте authIdentity пустым. Если установить оба apiKey и authIdentity, то apiKey используется на соединении. |
deploymentId |
(Обязательно) ID развернутой модели вложения Azure OpenAI. Это имя развертывания, которое вы указали при развертывании модели. |
authIdentity |
Идентификация, управляемая пользователем, используемая поисковой службой соединения. Вы можете использовать системную или пользовательскую идентичность. Чтобы использовать системно управляемую идентичность, оставите apiKey и authIdentity пустые. Идентификация, управляемая системой, используется автоматически. Управляемая идентичность должна иметь права Cognitive Services OpenAI User для отправки текста Azure OpenAI. |
modelName |
(Обязательно) Название модели OpenAI Azure, развернутой в указанном deploymentId. Поддерживаемые значения:
|
dimensions |
(По желанию) Размеры эмбеддингов, которые вы хотите сгенерировать, при условии, что модель поддерживает диапазон измерений. По умолчанию — максимальные размеры для каждой модели. Для наборов навыков, созданных с использованием версий REST API до предпросмотра 2023-10-01, размеры фиксированы на уровне 1536. Если вы задаёте dimensions свойство в этом навыке, dimensions установите свойство в определении векторного поля на то же значение. |
Поддерживаемые размеры modelName
Поддерживаемые размеры для навыка OpenAI Embedding Azure зависят от настроенного modelName.
modelName |
Минимальные измерения | Максимальные размеры |
|---|---|---|
| text-embedding-ada-002 | 1536 | 1536 |
| текст-встраивание-3-большой | 1 | 3072 |
| Встраивание текста - версия 3 - малая | 1 | 1536 |
Входные параметры навыков
| Input | Описание |
|---|---|
text |
Вводный текст должен быть векторизирован. Если вы используете фрагментирование данных, источник может быть /document/pages/*. |
Выходные данные навыка
| Выходные данные | Описание |
|---|---|
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 (токены в минуту), рассмотрите рекомендации по ограничениям quota, чтобы вы могли соответствующим образом обращаться. Дополнительные сведения о производительности Azure экземпляра OpenAI см. в документации Azure.
Модель развертывания Azure OpenAI embeddings, которую вы используете для этого навыка, должна быть в идеале отдельно от развертки, используемой для других сценариев, включая query vectorizer. Это помогает каждому развертыванию адаптироваться к конкретному варианту использования, что приводит к оптимизации производительности и идентификации трафика от индексатора и вызовов внедрения индекса.
Экземпляр OpenAI Azure должен находиться в том же регионе или по крайней мере географически близко к региону, где размещена служба поиска ИИ. Это снижает задержку и повышает скорость передачи данных между службами.
Чтобы избежать возникновения 429 кодов ошибок, рекомендуется реализовать балансировку нагрузки с помощью API Management путем реализации шлюза [/azure/архитектура/ai-ml/guide/azure-openai-gateway-multi-backend] перед несколькими развертываниями моделей Azure OpenAI.
Если у вас больше ограничения по умолчанию Azure OpenAI TPM (токены в минуту), как опубликовано в quotas и ограничениях документации, откройте поддерживаемый случай с командой Поиск с использованием ИИ Azure, чтобы это можно было изменить соответствующим образом. Это помогает процессу индексирования не замедляться за счет задокументированного ограничения доверенного платформенного модуля по умолчанию, если у вас есть более высокие ограничения.
Примеры и рабочие образцы кода с использованием этого навыка смотрите следующие ссылки:
Ошибки и предупреждения
| Состояние | Result |
|---|---|
| Null или некорректный URI | Error |
| Null или invalid deploymentID | Error |
| Текст пуст | Предупреждение |
| Текст превышает 8 000 токенов | Error |