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.
Azure AI Search hostet keine Einbettungsmodelle. Eine Ihrer Herausforderungen besteht daher darin, Vektoren für Abfrageeingaben und -ausgaben zu erstellen. Sie können jedes unterstützte Einbettungsmodell verwenden, in diesem Artikel wird jedoch davon ausgegangen, dass Azure OpenAI-Einbettungsmodelle zur Veranschaulichung verwendet werden.
Es wird empfohlen, die integrierte Vektorisierung zu verwenden, die integrierte Datensegmentierung und Vektorisierung bereitstellt. Die integrierte Vektorisierung ist von Indexern, Skillsets und integrierten oder benutzerdefinierten Skills abhängig, die auf ein außerhalb von Azure KI-Suche ausgeführtes Modell verweisen. Mehrere integrierte Fähigkeiten verweisen auf das Einbetten von Modellen in Azure AI Foundry, wodurch die integrierte Vektorisierung Ihre einfachste Lösung zum Lösen der Einbettungs-Herausforderung macht.
Wenn Sie die Datensegmentierung und Vektorisierung selbst durchführen möchten, stehen Ihnen Demos im Beispielrepository zur Verfügung, die zeigen, wie Sie andere Communitylösungen integrieren.
Verwendung von Einbettungsmodellen in Vektorabfragen
Abfrageeingaben sind entweder Vektoren oder Text oder Bilder, die während der Abfrageverarbeitung in Vektoren konvertiert werden. Die integrierte Lösung in Azure KI-Suche besteht darin, eine Vektorisierung zu verwenden.
Alternativ können Sie die Konvertierung auch selbst durchführen, indem Sie die Abfrageeingabe an ein Einbettungsmodell Ihrer Wahl übergeben. Zur Vermeidung einer Ratenbegrenzung können Sie Wiederholungslogik in Ihrer Workload implementieren. Für die Python-Demo wurde tenacity verwendet.
Abfrageausgaben sind alle übereinstimmenden Dokumente, die in einem Suchindex gefunden werden. Ihr Suchindex muss zuvor mit Dokumenten geladen worden sein, die über mindestens ein Vektorfeld mit Einbettungen verfügen. Verwenden Sie für Abfragen das gleiche Einbettungsmodell wie für die Indizierung (unabhängig davon, welches Modell Sie verwendet haben).
Erstellen von Ressourcen in der gleichen Region
Obwohl die integrierte Vektorisierung mit Azure OpenAI-Einbettungsmodellen keine Ressourcen in derselben Region erfordert, kann die Verwendung derselben Region die Leistung verbessern und die Latenz verringern.
Überprüfen Sie die verfügbaren Regionen für ein Texteinbettungsmodell.
Wenn Sie Hybridabfragen mit semantischer Rangfolge unterstützen oder die Integration eines Machine Learning-Modells mit einem benutzerdefinierten Skill in einer KI-Anreicherungspipeline ausprobieren möchten, wählen Sie eine Region aus, in der Azure KI-Suche diese Features bereitstellt.
Generieren einer Einbettung für eine improvisierte Abfrage
Der folgende Python-Code erzeugt eine Einbettung, die Sie in die Eigenschaft „Werte“ einer Vektorabfrage einfügen können.
!pip install openai
import openai
openai.api_type = "azure"
openai.api_key = "YOUR-API-KEY"
openai.api_base = "https://YOUR-OPENAI-RESOURCE.openai.azure.com"
openai.api_version = "2024-02-01"
response = openai.Embedding.create(
input="How do I use Python in VS Code?",
engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)
Die Ausgabe ist ein Vektorarray von 1.536 Dimensionen.
Auswählen eines Einbettungsmodells in Azure AI Foundry
Im Azure AI Foundry-Portal haben Sie die Möglichkeit, einen Suchindex zu erstellen, wenn Sie Ihrem Agent-Workflow Wissen hinzufügen. Ein Assistent führt Sie durch die Schritte. Wenn Sie aufgefordert werden, ein Einbettungsmodell bereitzustellen, das Ihren Nur-Text-Inhalt vektorisiert, können Sie eines der folgenden unterstützten Modelle verwenden:
- text-embedding-3-large
- text-embedding-3-small
- text-embedding-ada-002
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
Ihr Modell muss bereits bereitgestellt werden, und Sie müssen über die Berechtigung zum Zugreifen darauf verfügen. Weitere Informationen finden Sie unter Bereitstellen von KI-Modellen im Azure AI Foundry-Portal.
Tipps und Empfehlungen für die Einbettungsmodellintegration
Identifizieren von Anwendungsfällen: Bewerten Sie die spezifischen Anwendungsfälle, in denen die Einbettungsmodellintegration für Vektorsuchfeatures einen Mehrwert für Ihre Suchlösung generiert. Beispiele wären etwa multimodale Modelle oder der Abgleich von Bildinhalten mit Textinhalten, sprachübergreifende Suchvorgänge oder die Ähnlichkeitssuche.
Entwerfen einer Segmentierungsstrategie: Die Anzahl von Token, die Einbettungsmodelle akzeptieren können, ist begrenzt. Für große Dateien ist daher eine Datensegmentierung erforderlich. Weitere Informationen finden Sie unter Durchführen der Blockerstellung für große Dokumente für Vektorsuchlösungen.
Optimieren der Kosten und der Leistung: Die Vektorsuche kann ressourcenintensiv sein, und es gelten Obergrenzen. Vektorisieren Sie daher nur Felder mit semantischer Bedeutung. Reduzieren Sie die Vektorgröße, damit Sie zum gleichen Preis mehr Vektoren speichern können.
Auswählen des richtigen Einbettungsmodells: Wählen Sie ein geeignetes Modell für Ihren spezifischen Anwendungsfall aus, z. B. Worteinbettungen für textbasierte Suchvorgänge oder Bildeinbettungen für visuelle Suchvorgänge. Nutzen Sie ggf. vortrainierte Modelle wie text-embedding-ada-002 aus OpenAI oder die Bildabruf-REST-API aus Maschinelles Sehen von Azure KI.
Normalisieren von Vektorlängen: Normalisieren Sie die Vektorlängen vor der Speicherung im Suchindex, um die Genauigkeit und Leistung der Ähnlichkeitssuche zu verbessern. Die meisten vortrainierten Modelle sind bereits normalisiert (aber nicht alle).
Optimieren des Modells: Optimieren Sie bei Bedarf das ausgewählte Modell mit Ihren domänenspezifischen Daten, um die Leistung und Relevanz ihrer Suchanwendung zu verbessern.
Testen und Durchlaufen: Testen und optimieren Sie ihre Einbindungsmodellintegration kontinuierlich, um die gewünschte Suchleistung und Benutzerzufriedenheit zu erzielen.