Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо: ✅Microsoft Fabric✅Azure Data Explorer
Подключаемый ai_embeddings
модуль позволяет внедрять текст с помощью языковых моделей, обеспечивая различные сценарии, связанные с ИИ, такие как приложения получения дополненного поколения (RAG) и семантический поиск. Подключаемый модуль использует модели внедрения службы OpenAI Azure и может быть доступ к ней с помощью управляемого удостоверения или удостоверения пользователя (олицетворение).
Подключаемый ai_embeddings
модуль позволяет внедрять текст с помощью языковых моделей, обеспечивая различные сценарии, связанные с ИИ, такие как приложения получения дополненного поколения (RAG) и семантический поиск. Подключаемый модуль использует модели внедрения службы OpenAI Azure и может быть доступ к ней с помощью удостоверения пользователя (олицетворение).
Предпосылки
- Служба Azure OpenAI, настроенная по крайней мере с ролью "Пользователь OpenAI" Cognitive Services, назначенной используемому удостоверению.
- Политика выноски, настроенная для разрешения вызовов служб ИИ.
- При использовании управляемого удостоверения для доступа к службе Azure OpenAI настройте политику управляемых удостоверений , чтобы разрешить обмен данными со службой.
Синтаксис
evaluate
ai_embeddings
(
text, connectionString [,
параметры [,
IncludeErrorMessages]])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
текст | string |
✔️ | Текст для внедрения. Это значение может быть ссылкой на столбец или скалярным константой. |
connectionString | string |
✔️ | Строка подключения для языковой модели в формате<ModelDeploymentUri>;<AuthenticationMethod> ; замените <ModelDeploymentUri> и <AuthenticationMethod> URI модели ИИ и метод проверки подлинности соответственно. |
параметры | dynamic |
Параметры, управляющие вызовами конечной точки модели внедрения. См. Параметры. | |
IncludeErrorMessages (IncludeErrorMessages) | bool |
Указывает, следует ли выводить ошибки в новом столбце в выходной таблице. Значение по умолчанию: false . |
Опции
В следующей таблице описаны параметры, управляющие способом выполнения запросов к конечной точке модели внедрения.
Имя | Тип | Описание |
---|---|---|
RecordsPerRequest |
int |
Указывает количество записей для обработки каждого запроса. Значение по умолчанию: 1 . |
CharsPerRequest |
int |
Указывает максимальное количество символов для обработки каждого запроса. Значение по умолчанию: 0 (неограниченно). Azure OpenAI подсчитывает маркеры, при этом каждый маркер приблизительно преобразуется в четыре символа. |
RetriesOnThrottling |
int |
Указывает количество попыток повторных попыток при регулировании. Значение по умолчанию: 0 . |
GlobalTimeout |
timespan |
Указывает максимальное время ожидания ответа из модели внедрения. Значение по умолчанию: null |
ModelParameters |
dynamic |
Параметры, относящиеся к модели внедрения, например измерения внедрения или идентификаторы пользователей для мониторинга. Значение по умолчанию: null . |
ReturnSuccessfulOnly |
bool |
Указывает, следует ли возвращать только успешно обработанные элементы. Значение по умолчанию: false .
Если для параметра IncludeErrorMessages задано true значение , этот параметр всегда имеет значение false . |
Настройка политики выноски
Политика azure_openai
выноски позволяет выполнять внешние вызовы к службам ИИ Azure.
Чтобы настроить политику выноски для авторизации домена конечной точки модели ИИ:
.alter-merge cluster policy callout
```
[
{
"CalloutType": "azure_openai",
"CalloutUriRegex": "https://[A-Za-z0-9\\-]{3,63}\\.openai\\.azure\\.com/.*",
"CanCall": true
}
]
```
Настройка управляемого удостоверения
При использовании управляемого удостоверения для доступа к Службе Azure OpenAI необходимо настроить политику управляемых удостоверений , назначаемую системой, для проверки подлинности в Службе OpenAI Azure.
Чтобы настроить управляемое удостоверение, выполните следующие действия.
.alter-merge cluster policy managed_identity
```
[
{
"ObjectId": "system",
"AllowedUsages": "AzureAI"
}
]
```
Возвраты
Возвращает следующие новые столбцы внедрения:
- Столбец с суффиксом _embeddings , содержащий значения встраивания
- Если настроено возвращать ошибки, столбец с суффиксом _embedding_error , который содержит строки ошибок или остается пустым, если операция выполнена успешно.
В зависимости от типа входных данных подключаемый модуль возвращает различные результаты:
- Ссылка на столбец: возвращает одну или несколько записей с дополнительными столбцами, префиксируются именем ссылочного столбца. Например, если входной столбец называется TextData, выходные столбцы называются TextData_embedding и, если настроено для возврата ошибок, TextData_embedding_error.
- Скаляр констант: возвращает одну запись с дополнительными столбцами, которые не префиксированы. Имена столбцов _embedding и, если настроены для возврата ошибок, _embedding_error.
Примеры
В следующем примере текст внедряется Embed this text using AI
с помощью модели внедрения Azure OpenAI.
let expression = 'Embed this text using AI';
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;managed_identity=system';
evaluate ai_embeddings(expression, connectionString)
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;impersonate';
evaluate ai_embeddings(expression, connectionString)
В следующем примере выполняется внедрение нескольких текстов с помощью модели внедрения Azure OpenAI.
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;managed_identity=system';
let options = dynamic({
"RecordsPerRequest": 10,
"CharsPerRequest": 10000,
"RetriesOnThrottling": 1,
"GlobalTimeout": 2m
});
datatable(TextData: string)
[
"First text to embed",
"Second text to embed",
"Third text to embed"
]
| evaluate ai_embeddings(TextData, connectionString, options , true)
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;impersonate';
let options = dynamic({
"RecordsPerRequest": 10,
"CharsPerRequest": 10000,
"RetriesOnThrottling": 1,
"GlobalTimeout": 2m
});
datatable(TextData: string)
[
"First text to embed",
"Second text to embed",
"Third text to embed"
]
| evaluate ai_embeddings(TextData, connectionString, options , true)
Лучшие практики
Модели внедрения Azure OpenAI подвержены интенсивному регулированию, и частые вызовы этого подключаемого модуля могут быстро достичь ограничений регулирования.
Чтобы эффективно использовать подключаемый ai_embeddings
модуль при минимизации регулирования и затрат, выполните следующие рекомендации.
-
Размер запроса элемента управления: настройте количество записей (
RecordsPerRequest
) и символов на запрос (CharsPerRequest
). -
Время ожидания запроса управления: задайте
GlobalTimeout
значение ниже времени ожидания запроса, чтобы убедиться, что ход выполнения не будет потерян при успешных вызовах до этой точки. -
Обработка ограничений скорости более корректно: задайте повторные попытки для регулирования (
RetriesOnThrottling
).