Vector Assist – Übersicht

Die Vektorunterstützung ist eine Cloud SQL for PostgreSQL -Erweiterung, die die Bereitstellung und Verwaltung Ihrer Cloud SQL-Vektorarbeitslasten vereinfacht. Sie bietet ein deklaratives SQL-Framework, mit dem Sie produktionsreife Vektorsuchfunktionen wie die Generierung von Einbettungen, die Abfrageoptimierung und die Indexerstellung einrichten können. Dieses Framework reduziert die Komplexität von Vektorarbeitslasten durch folgende Maßnahmen:

  • Vereinfachung der Absichtserklärung: Anforderungen wie Tabelle, Text spalte oder Zielabruf werden mithilfe von SQL-Funktionen deklariert.
  • Automatisierung von Best Practices: Generiert optimierte SQL-Befehle, auch Empfehlungen genannt, um Ihre Vektorarbeitslast 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 Prototypenerstellung: Ermöglicht die schnelle Bereitstellung einer gut abgestimmten Vektor sucheinrichtung, wodurch die Zeit vom Konzept 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 der Vektorunterstützung können Sie End-to-End-Anwendungen mit semantischen Suchfunktionen und vereinfachter Einrichtung erstellen.

Funktionsweise der Vektorunterstützung

Wenn Sie die Vektorunterstützung verwenden möchten, 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. Die Vektorunterstützung gibt die Schritte aus, die zum Bereitstellen Ihrer Vektorarbeitslast als Empfehlungen erforderlich sind. Jedes Mal, wenn Sie Ihre Vektorspezifikation ändern, werden die Empfehlungen von der Vektorunterstützung neu generiert.

Nachdem Sie den Vektorindex mit diesen empfohlenen Schritten generiert haben, können Sie mit der Vektorunterstützung optimierte Suchanfragen generieren.

Spezifikation der Vektorunterstützung

Die Einrichtung Ihrer Vektorindexspezifikation oder Vektorspezifikation ist der erste Schritt bei der Verwendung der Vektorunterstützung. Eine Vektorspezifikation ist ein Objekt, in dem Sie die Absicht und die Anforderungen für Ihre Vektorarbeitslast definieren. Sie enthält alle erforderlichen Informationen, einschließlich:

  • Die Tabellen und relevanten Spalten (Text oder Vektor)
  • Einstellungen für das Einbettungsmodell (wenn die Generierung von Einbettungen verwendet wird)
  • Bevorzugter Indextyp, z. B. HNSW oder IVFFlat.
  • Zielabruf für Suchanfragen
  • Speicherbeschränkungen oder andere Leistungseinschrä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.

Die Vektorunterstützung leitet die Spezifikationseingaben und einen optimierten Algorithmus für die automatische Optimierung ab, der die optimale Indexkonfiguration berechnet. Obwohl die Vektorunterstützung diese Werte verwendet, um den Entwicklungsprozess zu vereinfachen, können Sie sie an Ihre Einstellungen anpassen.

Empfehlungen der Vektorunterstützung

Nachdem Sie die Vektorspezifikation definiert haben, verarbeitet die Vektorunterstützung Ihre Eingabe und generiert Empfehlungen. Diese Empfehlungen sind eine geordnete Liste mit nützlichen Schritten, in der Regel SQL-Befehle, die Sie ausführen müssen, um Ihre Vektorarbeitslast gemäß Ihren Spezifikationen bereitzustellen. Jede Empfehlung enthält Folgendes:

  • Die auszuführende SQL-Abfrage.
  • Eine detaillierte Erklärung der Funktion der Abfrage und warum sie empfohlen wird.
  • Informationen zu potenziellen Kompromissen oder Kosten, z. B. geschätzte Indexgröße oder Erstellungszeit.

Die Vektorunterstützung speichert Empfehlungen in einer Tabelle mit dem Namen vector_assist.recommendation. Sie können sie einzeln oder als Ganzes überprüfen, ändern und anwenden.

Jedes Mal, wenn Sie die Vektorspezifikation für Ihre Arbeitslast ändern, werden die Empfehlungen von der Vektorunterstützung neu generiert, um den aktualisierten Spezifikationen zu entsprechen.

Beschränkungen

Beachten Sie bei der Verwendung der Vektorunterstützung mit Ihren Cloud SQL for PostgreSQL -Instanzen die folgenden Einschränkungen:

  • Die Vektorunterstützung unterstützt nur PostgreSQL-Versionen 12 und höher.
  • Obwohl die Vektorunterstützung alle pgvector-Versionen unterstützt, empfehlen wir die Verwendung der neuesten Version, um eine optimale Leistung und Funktionsunterstützung zu erzielen. Weitere Informationen finden Sie im pgvector Änderungsprotokoll.
  • Wenn Ihre Instanz die Erweiterung google_ml_integration zum Generieren von Einbettungen verwendet, gelten die Einschränkungen auch bei der Verwendung der Vektorunterstützung. Weitere Informationen finden Sie unter Übersicht zur Verwaltung von Modellendpunkten.
  • Die Vektorunterstützung unterstützt nur die Indextypen HNSW und IVFFlat.
  • Die Vektorunterstützung unterstützt nur Texteinbettungsmodelle für die automatische Generierung von Einbettungen und verwendet text_column_name als Eingabeparameter. Wenn für Ihre Vektorarbeitslast ein multimodales Einbettungsmodell erforderlich ist, verwenden Sie die Erweiterung google_ml_integration oder eine andere Erweiterung, um diese Einbettungen manuell zu generieren, bevor Sie die Vektorunterstützung verwenden, um die semantische Suche für diese Einbettungen zu aktivieren.

Nächste Schritte