Der Einbettungsdienst in der Gemini API generiert hochmoderne Einbettungen für Wörter, Wortgruppen und Sätze. Die resultierenden Einbettungen können dann für NLP-Aufgaben wie semantische Suche, Textklassifizierung und Clustering verwendet werden. Auf dieser Seite wird beschrieben, was Einbettungen sind. Außerdem werden einige wichtige Anwendungsfälle für den Einbettungsdienst vorgestellt, um Ihnen den Einstieg zu erleichtern.
Was sind Einbettungen?
Texteinbettungen sind eine NLP-Methode (Natural Language Processing), die Text in numerische Vektoren umwandelt. Einbettungen erfassen die semantische Bedeutung und den Kontext, was dazu führt, dass Text mit ähnlichen Bedeutungen engere Einbettungen hat. Die Einbettungen „Ich brachte meinen Hund zum Tierarzt“ und „Ich brachte meine Katze zum Tierarzt“ würden beispielsweise Einbettungen haben, die im Vektorraum nahe beieinander liegen, da beide einen ähnlichen Kontext beschreiben.
Dies ist wichtig, da damit viele Algorithmen entsperrt werden, die mit Vektoren, aber nicht direkt mit Text arbeiten können.
Mit diesen Einbettungen oder Vektoren können Sie verschiedene Texte vergleichen und verstehen, wie sie zusammenhängen. Wenn beispielsweise die Einbettungen des Textes „Katze“ und „Hund“ nah beieinander sind, können Sie daraus ableiten, dass die Bedeutung, der Kontext oder beides ähnlich ist. Diese Funktion ermöglicht eine Vielzahl von Anwendungsfällen, die im nächsten Abschnitt beschrieben werden.
Anwendungsfälle
Texteinbettungen unterstützen eine Vielzahl von NLP-Anwendungsfällen. Beispiel:
- Informationsabruf: Das Ziel besteht darin, für einen Teil des Eingabetexts semantisch ähnlichen Text abzurufen. Ein System zum Informationsabruf kann eine Vielzahl von Anwendungen unterstützen, z. B. die semantische Suche, die Beantwortung von Fragen oder die Zusammenfassung. Ein Beispiel finden Sie im Notebook für die Dokumentsuche.
- Klassifizierung: Mit Einbettungen können Sie ein Modell trainieren, um Dokumente in Kategorien zu klassifizieren. Wenn Sie beispielsweise Nutzerkommentare als negativ oder positiv klassifizieren möchten, können Sie mit dem Einbettungsdienst die Vektordarstellung der einzelnen Kommentare abrufen und den Klassifikator trainieren. Weitere Informationen finden Sie im Beispiel für den Gemini-Klassifikator.
- Clustering: Der Vergleich von Textvektoren kann zeigen, wie ähnlich oder unterschiedlich sie sind. Diese Funktion kann verwendet werden, um ein Clustering-Modell zu trainieren, das ähnliche Texte oder Dokumente gruppiert, und um Anomalien in Ihren Daten zu erkennen.
- Vektordatenbank: Sie können Ihre generierten Einbettungen in einer Vektordatenbank speichern, um die Genauigkeit und Effizienz Ihrer NLP-Anwendung zu verbessern. Auf dieser Seite erfahren Sie, wie Sie eine Vektordatenbank verwenden, um Text-Prompts in numerische Vektoren zu übersetzen.
Elastische Einbettungen
Das Modell „Gemini-Texteinbettung“, das mit text-embedding-004
beginnt, bietet elastische Einbettungsgrößen unter 768.
Mit elastischen Einbettungen können Sie kleinere Ausgabedimensionen generieren und mit einem geringen Leistungsverlust möglicherweise Rechen- und Speicherkosten sparen.
Nächste Schritte
- Wenn Sie bereit sind, mit der Entwicklung zu beginnen, finden Sie den vollständigen ausführbaren Code in den Kurzanleitungen für Python, Go, Node.js und Dart (Flutter).