Vector Assist ist eine AlloyDB for PostgreSQL-Erweiterung, die die Bereitstellung und Verwaltung Ihrer Vektor-Arbeitslasten vereinfacht. Sie bietet ein deklaratives SQL-Framework, mit dem Sie produktionsreife Vektorsuchfunktionen wie die Einbettungserstellung, die Abfrageoptimierung und die Indexerstellung einrichten können. Dieses Framework reduziert die Komplexität von Vektor-Arbeitslasten durch Folgendes:
- Vereinfachung der Absichtserklärung: Anforderungen wie Tabelle, Text spalte oder Zielabruf werden mit SQL-Funktionen deklariert.
- Automatisierung von Best Practices: Generiert optimierte SQL-Befehle, auch Empfehlungen genannt, um Ihre Vektor-Arbeitslast mit Ihrer definierten Vektorspezifikation und einem optimierten Algorithmus für die automatische Optimierung einzurichten, der die optimale Indexkonfiguration berechnet.
- Transparenz und Kontrolle: Bietet klare Erklärungen für jede Empfehlung bei der Automatisierung von Aufgaben, mit denen Sie Empfehlungen in Ihrem eigenen Tempo überprüfen, ändern und anwenden können.
- Schnelle Prototyperstellung: Ermöglicht die schnelle Bereitstellung einer gut abgestimmten Vektor sucheinrichtung, wodurch die Zeit von der Konzeption bis zur Produktion verkürzt wird.
- Fokus auf Benutzerfreundlichkeit: Vereinfacht die Komplexität der semantischen Suche, schließt die Lücke zwischen geschäftlichen und technischen Anforderungen.
Mit Vector Assist können Sie End-to-End-Anwendungen mit semantischen Suchfunktionen mit einer vereinfachten Einrichtung erstellen.
Funktionsweise von Vector Assist
Für Vector Assist müssen Sie Ihre Vektorspezifikationen definieren. Das Framework verwendet diese Vektorspezifikationen, auch Vektorspezifikation genannt, um die Schritte zu generieren, die zum Erstellen eines Vektorindex erforderlich sind. Vector Assist gibt die Schritte aus, die zum Bereitstellen Ihrer Vektor-Arbeitslast als Empfehlungen erforderlich sind. Jedes Mal, wenn Sie Ihre Vektorspezifikation ändern, generiert Vector Assist die Empfehlungen neu.
Nachdem Sie den Vektorindex mit diesen empfohlenen Schritten generiert haben, können Sie mit Vector Assist optimierte Suchanfragen generieren.
Spezifikation für Vector Assist
Die Einrichtung Ihrer Vektorindexspezifikation oder Vektorspezifikation ist der erste Schritt bei der Verwendung von Vector Assist. Eine Vektorspezifikation ist ein Objekt, in dem Sie die Absicht und die Anforderungen für Ihre Vektor-Arbeitslast definieren. Sie enthält alle erforderlichen Informationen, einschließlich der folgenden:
- Tabellen und relevante Spalten (Text oder Vektor)
- Einstellungen für das Einbettungsmodell (bei Verwendung der Einbettungserstellung)
- Bevorzugter Index-Typ:
HNSWoderIVFFlat.ScaNNwird nicht unterstützt. - Zielabruf für Suchanfragen
- Arbeitsspeicherbeschränkungen
Sie definieren die Vektorspezifikation mit der
vector_assist.define_spec
Funktion und können sie jederzeit ändern. Das System weist jeder Spezifikation eine eindeutige ID zu und speichert sie in einer Tabelle mit dem Namen vector_assist.VECTOR_SPECS.
Vector Assist leitet die Speifikationseingaben und einen optimierten Algorithmus für die automatische Optimierung ab, der die optimale Indexkonfiguration berechnet. Vector Assist verwendet diese Werte zwar, um den Entwicklungsprozess zu vereinfachen, Sie können sie aber trotzdem an Ihre Einstellungen anpassen.
Empfehlungen von Vector Assist
Nachdem Sie die Vektorspezifikation definiert haben, verarbeitet Vector Assist Ihre Eingabe und generiert Empfehlungen. Diese Empfehlungen sind eine geordnete Liste nützlicher Schritte, in der Regel SQL-Befehle, die Sie ausführen müssen, um Ihre Vektor-Arbeitslast gemäß Ihren Spezifikationen bereitzustellen. Jede Empfehlung enthält Folgendes:
- Die SQL-Abfrage, die auszuführen ist.
- Eine detaillierte Erklärung der Funktion der Abfrage und warum sie empfohlen wird.
- Informationen zu möglichen Kompromissen oder Kosten, z. B. geschätzte Indexgröße oder Erstellungszeit.
Vector Assist speichert Empfehlungen in einer Tabelle mit dem Namen vector_assist.RECOMMENDATIONS. Sie können sie einzeln oder als Ganzes überprüfen, ändern und anwenden.
Jedes Mal, wenn Sie die Vektorspezifikation für Ihre Arbeitslast ändern, generiert Vector Assist die Empfehlungen neu, um den aktualisierten Spezifikationen zu entsprechen.
Beschränkungen
Beachten Sie bei der Verwendung von Vector Assist mit Ihren AlloyDB-Instanzen die folgenden Einschränkungen:
- Vector Assist unterstützt nur PostgreSQL-Versionen ab 17.
- Vector Assist unterstützt zwar alle
pgvector-Versionen, wir empfehlen jedoch, die neueste Version zu verwenden, um eine optimale Leistung und Funktionsunterstützung zu erzielen. Weitere Informationen finden Sie impgvector-Änderungsprotokoll. - Wenn Ihre Instanz die Erweiterung
google_ml_integrationverwendet, um Einbettungen zu generieren, gelten die Einschränkungen auch bei der Verwendung von Vector Assist. Weitere Informationen finden Sie unter Remote-KI-Modelle in AlloyDB registrieren und aufrufen – Übersicht. - Vector Assist unterstützt nur die Index-Typen
HNSWundIVFFlat.ScaNN-Index-Typen werden nicht unterstützt. - Vector Assist unterstützt nur Texteinbettungsmodelle für die automatische Generierung von Einbettungen und verwendet
text_column_nameals Eingabeparameter. Wenn für Ihre Vektor-Arbeitslast ein multimodales Einbettungsmodell erforderlich ist, verwenden Sie die Erweiterunggoogle_ml_integrationoder eine andere Erweiterung, um diese Einbettungen manuell zu generieren, bevor Sie mit Vector Assist die semantische Suche für diese Einbettungen aktivieren.