Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Das ai_embeddings Plug-In ermöglicht das Einbetten von Text mithilfe von Sprachmodellen, wodurch verschiedene KI-bezogene Szenarien wie Rag-Anwendungen (Retrieval Augmented Generation) und semantische Suche ermöglicht werden. Das Plug-In verwendet die Einbettungsmodelle des Azure OpenAI-Diensts und kann entweder über eine verwaltete Identität oder die Identität des Benutzers (Identitätswechsel) aufgerufen werden.
Das ai_embeddings Plug-In ermöglicht das Einbetten von Text mithilfe von Sprachmodellen, wodurch verschiedene KI-bezogene Szenarien wie Rag-Anwendungen (Retrieval Augmented Generation) und semantische Suche ermöglicht werden. Das Plug-In verwendet die Azure OpenAI Service-Einbettungsmodelle und kann über die Identität des Benutzers (Identitätswechsel) aufgerufen werden.
Voraussetzungen
- Ein Azure OpenAI-Dienst, der mindestens mit der Rolle "Cognitive Services OpenAI User" konfiguriert ist, die der verwendeten Identität zugewiesen ist.
- Eine Popuprichtlinie , die so konfiguriert ist, dass Anrufe an KI-Dienste zugelassen werden.
- Konfigurieren Sie bei Verwendung der verwalteten Identität für den Zugriff auf den Azure OpenAI-Dienst die Verwaltete Identitätsrichtlinie , um die Kommunikation mit dem Dienst zu ermöglichen.
Syntax
evaluate
ai_embeddings
(
text, connectionString [ options,
Erfahren Sie mehr über Syntaxkonventionen.
Die Parameter
| Name | Typ | Erforderlich | BESCHREIBUNG |
|---|---|---|---|
| Text | string |
✔️ | Der einzubettende Text. Der Wert kann ein Spaltenverweis oder ein konstanter Skalar sein. |
| connectionZeichenfolge | string |
✔️ | Die Verbindungszeichenfolge für das Sprachmodell im Format<ModelDeploymentUri>;<AuthenticationMethod>; ersetzen <ModelDeploymentUri> und <AuthenticationMethod> durch den AI-Modellbereitstellungs-URI bzw. die Authentifizierungsmethode. |
| Optionen | dynamic |
Die Optionen, die Aufrufe des Einbettungsmodellendpunkts steuern. Weitere Informationen finden Sie unter Optionen. | |
| IncludeErrorMessages | bool |
Gibt an, ob Fehler in einer neuen Spalte in der Ausgabetabelle ausgegeben werden sollen. Standardwert: false. |
Optionen
In der folgenden Tabelle werden die Optionen beschrieben, die steuern, wie die Anforderungen an den Einbettungsmodellendpunkt gestellt werden.
| Name | Typ | BESCHREIBUNG |
|---|---|---|
RecordsPerRequest |
int |
Gibt die Anzahl der Datensätze an, die pro Anforderung verarbeitet werden sollen. Standardwert: 1. |
CharsPerRequest |
int |
Gibt die maximale Anzahl von Zeichen an, die pro Anforderung verarbeitet werden sollen. Standardwert: 0 (unbegrenzt). Azure OpenAI zählt Token, wobei jedes Token ungefähr in vier Zeichen übersetzt wird. |
RetriesOnThrottling |
int |
Gibt die Anzahl der Wiederholungsversuche an, wenn die Drosselung auftritt. Standardwert: 0. |
GlobalTimeout |
timespan |
Gibt die maximale Wartezeit für eine Antwort des Einbettungsmodells an. Standardwert: null |
ModelParameters |
dynamic |
Parameter, die für das Einbettungsmodell spezifisch sind, z. B. Einbetten von Dimensionen oder Benutzerbezeichnern für Überwachungszwecke. Standardwert: null. |
ReturnSuccessfulOnly |
bool |
Gibt an, ob nur die erfolgreich verarbeiteten Elemente zurückgegeben werden sollen. Standardwert: false. Wenn der Parameter IncludeErrorMessages auf true festgelegt ist, wird diese Option immer auf false. |
Konfigurieren der Beschriftungsrichtlinie
Die azure_openaiPopuprichtlinie ermöglicht externe Aufrufe an Azure AI-Dienste.
So konfigurieren Sie die Popuprichtlinie, um die KI-Modellendpunktdomäne zu autorisieren:
.alter-merge cluster policy callout
```
[
{
"CalloutType": "azure_openai",
"CalloutUriRegex": "https://[A-Za-z0-9-]{3,63}\\.(?:openai\\.azure\\.com|cognitiveservices\\.azure\\.com|cognitive\\.microsoft\\.com|services\\.ai\\.azure\\.com)(?:/.*)?",
"CanCall": true
}
]
```
Konfigurieren der verwalteten Identität
Wenn Sie verwaltete Identität für den Zugriff auf Den Azure OpenAI-Dienst verwenden, müssen Sie die Richtlinie für verwaltete Identität konfigurieren, damit die vom System zugewiesene verwaltete Identität bei Azure OpenAI Service authentifiziert werden kann.
So konfigurieren Sie die verwaltete Identität:
.alter-merge cluster policy managed_identity
```
[
{
"ObjectId": "system",
"AllowedUsages": "AzureAI"
}
]
```
Rückkehr
Gibt die folgenden neuen Einbettungsspalten zurück:
- Eine Spalte mit dem Suffix _embeddings , die die Einbettungswerte enthält
- Wenn für die Rückgabe von Fehlern konfiguriert ist, ist eine Spalte mit dem Suffix _embedding_error , die Fehlerzeichenfolgen enthält oder leer bleibt, wenn der Vorgang erfolgreich ist.
Je nach Eingabetyp gibt das Plug-In unterschiedliche Ergebnisse zurück:
- Spaltenverweis: Gibt einen oder mehrere Datensätze mit zusätzlichen Spalten zurück, die dem Namen der Bezugsspalte vorangestellt sind. Wenn z. B. die Eingabespalte "TextData" heißt, werden die Ausgabespalten TextData_embedding benannt und, wenn die Rückgabe von Fehlern konfiguriert ist, TextData_embedding_error.
- Konstanter Skalar: Gibt einen einzelnen Datensatz mit zusätzlichen Spalten zurück, die nicht präfixiert sind. Die Spaltennamen sind _embedding und, wenn dies für die Rückgabe von Fehlern konfiguriert ist, _embedding_error.
Beispiele
Im folgenden Beispiel wird der Text Embed this text using AI mithilfe des Azure OpenAI Embedding-Modells eingebettet.
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)
Im folgenden Beispiel werden mehrere Texte mithilfe des Azure OpenAI Embedding-Modells eingebettet.
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)
Bewährte Methoden
Azure OpenAI-Einbettungsmodelle unterliegen einer starken Drosselung, und häufige Aufrufe dieses Plug-Ins erreichen schnell Drosselungsgrenzwerte.
Um das ai_embeddings Plug-In effizient zu verwenden und gleichzeitig Drosselung und Kosten zu minimieren, befolgen Sie die folgenden bewährten Methoden:
-
Größe der Steuerelementanforderung: Anpassen der Anzahl von Datensätzen (
RecordsPerRequest) und Zeichen pro Anforderung (CharsPerRequest). -
Timeout für Steuerelementabfragen: Legen Sie einen Wert fest, der niedriger als das Abfragetimeout
GlobalTimeoutist, um sicherzustellen, dass der Fortschritt bei erfolgreichen Aufrufen bis zu diesem Punkt nicht verloren geht. -
Behandeln Sie Geschwindigkeitsbeschränkungen ordnungsgemäßer: Festlegen von Wiederholungsversuchen bei Drosselung (
RetriesOnThrottling).