Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе IQ Foundry, управляемого уровня знаний, который преобразует корпоративное содержимое в многократно используемые базы знаний с поддержкой разрешений для агентов на портале Foundry Microsoft.
Навык 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 также поддерживаются, за исключением настраиваемых доменов Azure API Management. Сведения о настройке, включая проверку подлинности, RBAC и необязательное частное подключение, см. в разделе Use Azure API Management с Azure навыками OpenAI и векторизаторами. |
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 путем реализации шлюза перед несколькими Azure развертываниями моделей OpenAI.
Если у вас больше ограничения по умолчанию Azure OpenAI TPM (токены в минуту), как опубликовано в quotas и ограничениях документации, откройте поддерживаемый случай с командой Поиск с использованием ИИ Azure, чтобы это можно было изменить соответствующим образом. Это помогает процессу индексирования не замедляться за счет задокументированного ограничения доверенного платформенного модуля по умолчанию, если у вас есть более высокие ограничения.
Примеры и рабочие образцы кода с использованием этого навыка смотрите следующие ссылки:
Ошибки и предупреждения
| Состояние | Result |
|---|---|
| Null или некорректный URI | Error |
| Null или invalid deploymentID | Error |
| Текст пуст | Предупреждение |
| Текст превышает 8 000 токенов | Error |
Вопросы безопасности для проверки подлинности управляемых удостоверений
Когда навык openAI Embedding Azure использует проверку подлинности управляемого удостоверения, Поиск с использованием ИИ Azure получает маркер доступа Microsoft Entra для аудитории Foundry Tools (https://cognitiveservices.azure.com) и включает его в запросы, отправленные в конечную точку, указанную в resourceUriэтой точке. Проверка подлинности управляемого удостоверения применяется, если authIdentity задано или когда apiKeyauthIdentity они пусты, а служба использует назначаемое системой удостоверение.
Ожидается, что конечная точка, на которую resourceUri ссылается ваш собственный Azure ресурс OpenAI или Foundry Tools. Поддерживаемые домены:
openai.azure.comcognitiveservices.azure.comservices.ai.azure.com
также поддерживаются конечные точки Azure API Management (*.azure-api.netAPIM). Так как имя узла APIM не может быть проверено только из его имени, Поиск с использованием ИИ Azure проверяет эти конечные точки с проверкой динамического подключения во время настройки, а не по сопоставлению домена. Вы несете ответственность за настройку и поддержание связи между конечной точкой APIM и ресурс Azure ом OpenAI или Foundry Tools за ней.
Маркер управляемого удостоверения, выданный для аудитории Foundry Tools, действителен для любого ресурса Foundry Tools или Azure ресурса OpenAI, на который удостоверяется удостоверение. Отправка его в ненадежную конечную точку может предоставить маркер.
Recommended security practices (Рекомендации по безопасности)
Чтобы обеспечить безопасное развертывание, выполните следующие действия.
- Задайте
resourceUriтолько конечные точки, которыми вы владеете и доверяете. Предпочитайте домены средств Foundry, перечисленные ранее. Если вы используете конечную точку APIM, убедитесь, что он выполняет внешний ресурс перед включением управляемого удостоверения. Доверенное имя узла не является подтверждением владения. - Примените принцип наименьших привилегий к управляемому удостоверению, используемому службой поиска. Для Azure навык внедрения OpenAI требуется только роль пользователя OpenAI Cognitive Services в целевом ресурсе. Избегайте предоставления более широких ролей.
- Используйте периметр безопасности сети (NSP) и частные конечные точки или интеграцию виртуальной сети, чтобы ограничить доступ к конечным точкам службы поиска и источникам, из которых целевой ресурс принимает запросы.
- Если вы используете конечную точку APIM, убедитесь, что шлюз проверяет входящие запросы и перенаправляет их только в предназначенную серверную часть. Также следует периодически просматривать свои политики доступа.
- Предпочитайте управляемое удостоверение
apiKey. Если вы используетеapiKey, сохраните и вращайте его безопасно и не внедряйте его в систему управления версиями. Служба отклоняет конфигурации, которые задают обаapiKeyиauthIdentity. - Периодически просматривают определения набора навыков, назначения ролей управляемого удостоверения и конфигурации APIM, чтобы убедиться, что
resourceUriзначения, элементы управления доступом и разрешения удостоверения остаются текущими и соответствующими. Просмотрите изменения конфигурации с помощью установленных процессов управления изменениями и проверки безопасности. - Отслеживайте журналы входа Azure OpenAI и Foundry Tools, события проверки подлинности и журналы доступа для непредвиденных или несанкционированных действий.
- Удалите неиспользуемые навыки, конечные точки, назначения ролей и ключи API, которые больше не требуются.
Ограничение доступа к конфигурации набора навыков
Пользователи, которые могут создавать, изменять или запускать наборы навыков, управляют конечной конечной точкой (resourceUri) и конфигурацией проверки подлинности, используемой навыком. Так как навык отправляет маркер управляемого удостоверения для аудитории Foundry Tools в ту конечную точку, ограничьте эти разрешения доверенным администраторам и следуйте стандартным процессам управления изменениями и проверки безопасности при настройке навыков с поддержкой управляемого удостоверения.