Freigeben über


ai_embeddings-Plugin (Vorschau)

Gilt für: ✅Microsoft FabricAzure 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: