Azure OpenAI Einbettungsskill

Wichtig

Dieses Feature befindet sich in der Public Preview-Phase und unterliegt zusätzlichen Nutzungsbedingungen. Die 2023-10-01-Preview REST API unterstützt diese Funktion.

Der Skill Azure OpenAI Embedding stellt eine Verbindung zu einem bereitgestellten Einbettungsmodell auf Ihrer Azure OpenAI Ressource her, um Einbettungen zu erzeugen.

Die Daten importieren und vektorisieren verwenden die Azure OpenAI Embedding-Fähigkeit zum Vektorisieren von Inhalten. Sie können den Assistenten ausführen und das generierte Skillset überprüfen, um zu sehen, wie der Assistent ihn erstellt.

Hinweis

Diese Fähigkeit ist an Azure OpenAI gebunden und wird zum bestehenden Azure OpenAI Pay-as-you-go-Preis berechnet.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Datengrenzwerte

Die maximale Größe einer Texteingabe sollte 8.000 Token betragen. Übersteigt die Eingabe das zulässige Maximum, gibt das Modell einen Fehler für eine ungültige Anfrage aus. Weitere Informationen finden Sie unter dem Schlüsselkonzept Tokens in der Azure OpenAI Dokumentation. Erwägen Sie die Verwendung der Fähigkeit "Textteilung" , wenn Sie Datenabschnitte benötigen.

Skillparameter

Bei den Parametern wird zwischen Groß- und Kleinschreibung unterschieden.

Eingaben Beschreibung
resourceUri Der URI eines Modellanbieters, z. B. eine Azure OpenAI-Ressource oder eine OpenAI-URL.
apiKey Der geheime Schlüssel, der für den Zugriff auf das Modell verwendet wird. Wenn Sie einen Schlüssel angeben, lassen Sie es authIdentity leer. Wenn Sie sowohl die apiKey als auch die authIdentity einstellen, wird die apiKey für die Verbindung verwendet.
deploymentId Der Name des bereitgestellten Azure OpenAI-Einbettungsmodells. Das Modell sollte ein Einbettungsmodell sein, z. B. text-embedding-ada-002. Siehe die Liste der Azure OpenAI-Modelle für unterstützte Modelle.
authIdentity Eine benutzerverwaltete Identität, die vom Suchdienst für die Verbindung zu Azure OpenAI verwendet wird. Sie können entweder eine system- oder eine benutzerverwaltete Identität verwenden. Um eine vom System verwaltete Identität zu verwenden, lassen Sie apiKey und authIdentity leer. Die vom System verwaltete Identität wird automatisch verwendet. Eine verwaltete Identität muss über Cognitive Services OpenAI User Berechtigungen verfügen, um Text an Azure OpenAI zu senden.

Skilleingaben

Eingabe Beschreibung
text Der zu vektorisierende Eingabetext. Wenn Sie Datenblöcke verwenden, lautet /document/pages/*die Quelle möglicherweise .

Skillausgaben

Ausgabe Beschreibung
embedding Vektorisierte Einbettung für den Eingabetext.

Beispieldefinition

Nehmen wir einen Datensatz mit den folgenden Feldern:

{
    "content": "Microsoft released Windows 10."
}

Dann könnte Ihre Kompetenzdefinition wie folgt aussehen:

{
  "@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",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Beispielausgabe

Für den gegebenen Eingabetext wird eine vektorisierte Einbettungsausgabe erzeugt.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

Die Ausgabe befindet sich im Speicher. Um diese Ausgabe an ein Feld im Suchindex zu senden, müssen Sie ein outputFieldMapping definieren, das die vektorisierte Einbettungsausgabe (ein Array) einem Vektorfeld zuordnet. Wenn sich die Qualifikationsausgabe im Einbettungsknoten des Dokuments befindet und content_vector das Feld im Suchindex ist, sollte das outputFieldMapping im Index wie folgt aussehen:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

Bewährte Methoden

Im Folgenden sind einige bewährte Methoden aufgeführt, die Sie bei der Verwendung dieser Fähigkeiten berücksichtigen müssen:

  • Wenn Sie ihr Azure OpenAI-TPM -Limit (Token pro Minute) erreichen, sollten Sie die Empfehlung zu Kontingentgrenzwerten berücksichtigen, damit Sie entsprechend adressieren können. Weitere Informationen zur Leistung Ihrer Azure OpenAI-Instanz finden Sie in der Azure OpenAI-Überwachungsdokumentation .
  • Die Azure OpenAI-Einbettungsmodellbereitstellung, die Sie für diese Fähigkeit verwenden, sollte ideal von der Bereitstellung getrennt sein, die für andere Anwendungsfälle verwendet wird, einschließlich des Abfragevektorizers. Dies hilft jeder Bereitstellung, auf ihren spezifischen Anwendungsfall zugeschnitten zu werden, was zu einer optimierten Leistung und identifizierung des Datenverkehrs vom Indexer und den Indexeinbettungsaufrufen führt.
  • Ihre Azure OpenAI-Instanz sollte sich in derselben Region oder zumindest in der Nähe der Region befinden, in der Ihre KI-Suchdienst gehostet wird. Dadurch wird die Latenz reduziert und die Geschwindigkeit der Datenübertragung zwischen den Diensten verbessert.
  • Wenn Sie ein größeres als standardmäßiges Azure OpenAI-TPM (Token pro Minute) haben, wie in Kontingenten veröffentlicht und die Dokumentation beschränkt , öffnen Sie einen Supportfall mit dem Azure AI Search-Team, damit dies entsprechend angepasst werden kann. Dies hilft Ihrem Indizierungsprozess, der nicht unnötig durch den dokumentierten Standard-TPM-Grenzwert verlangsamt wird, wenn Sie höhere Grenzwerte haben.

Fehler und Warnungen

Bedingung Ergebnis
Null oder ungültiger URI Fehler
Null oder ungültige deploymentID Fehler
Text ist leer Warnung
Text ist größer als 8.000 Token Fehler

Siehe auch