Anmerkung
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.
Gilt für: SQL Server 2025 (17.x)
Azure SQL-Datenbank
AzureSQL Managed Instance
SQL SQL-Datenbank in Microsoft Fabric
Wird VECTOR_NORMALIZE verwendet, um einen Vektor als Eingabe zu verwenden und den normalisierten Vektor zurückzugeben, bei dem es sich um einen Vektor handelt, der eine Länge von 1 in einem bestimmten Normtyp aufweist.
Diese Standardisierung ist in verschiedenen Anwendungen der künstlichen Intelligenz von entscheidender Bedeutung, bei denen Vektoren unterschiedliche Formen von Daten darstellen, z. B. visuelle Inhalte, Textinformationen oder Audiosignale. Durch die Normalisierung von Vektoren stellen wir die Einheitlichkeit in ihrer Skalierung sicher, was besonders für Vorgänge nützlich ist, die auf Vektorabstände oder zum Gruppieren und Unterscheiden von Datenpunkten basieren.
Während die Modelle von Azure OpenAI normalisierte Vektoren bereitstellen, gibt es andere Modelle und Frameworks, bei denen Vektoren nicht automatisch normalisiert werden. In der Gensim-Bibliothek, die häufig für Verarbeitungsaufgaben in natürlicher Sprache verwendet wird, werden Vektoren standardmäßig nicht immer normalisiert.
Benutzer müssen die Vektoren häufig manuell normalisieren oder bestimmte Funktionen verwenden, die von der Bibliothek bereitgestellt werden, um sicherzustellen, dass die Vektoren die Länge der Einheit aufweisen.
Bei Machine Learning-Modellen oder Vektoreinbettungen ist es im Allgemeinen wichtig, die Dokumentation oder die Ausgabe des Modells zu überprüfen, um festzustellen, ob die Vektoren normalisiert sind. Wenn die Normalisierung für Ihre Anwendung erforderlich ist, müssen Sie sie möglicherweise als separaten Schritt implementieren, wenn das Modell standardmäßig keine normalisierten Vektoren bereitstellt.
Wenn Sie z. B. einen normalisierten Vektor mit der Euklidischen Norm (der am häufigsten verwendeten Normtyp) verwenden möchten, können Sie Folgendes verwenden:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZEist in azure SQL Managed Instance mit der SQL Server 2025- oder Always-up-to-Updaterichtlinie verfügbar.
Syntax
Transact-SQL-Syntaxkonventionen
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vector
Ein Ausdruck, der den Vektordatentyp auswertet.
norm_type
Eine Zeichenfolge mit dem Namen des Normtyps zum Berechnen der Norm des angegebenen Vektors. Die folgenden Normtypen werden unterstützt:
-
norm1- Dies1-normist die Summe der absoluten Werte der Vektorkomponenten. -
norm2- Die2-norm, auch bekannt als Euklidische Norm, die die Quadratwurzel der Summe der Quadrate der Vektorkomponenten ist. -
norminf- Die Unendlichkeitsnorm, die das Maximum der absoluten Werte der Vektorkomponenten ist.
Rückgabewert
Das Ergebnis ist ein Vektor mit der gleichen Richtung wie der Eingabevektor, aber mit einer Länge von 1 gemäß der angegebenen Norm.
Wenn die Eingabe lautet NULL, ist das zurückgegebene Ergebnis auch NULL.
Es wird ein Fehler zurückgegeben, wenn norm_type kein gültiger Normtyp ist und der Vektor nicht vom Vektordatentyp ist.
Examples
Beispiel 1
Normalisieren eines Vektors:
CREATE TABLE dbo.vectors
(
ID INT PRIMARY KEY,
v VECTOR(3) NOT NULL
);
INSERT INTO dbo.vectors (ID, v)
VALUES (1, '[0.1, -2, 42]'),
(2, '[2, 0.1, -42]');
SELECT ID, VECTOR_NORMALIZE(v, 'norm2') AS nv
FROM dbo.vectors;
Beispiel 2
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');