Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: Sql Server 2025 (17.x)
База данных
SQL Azure Управляемого экземпляра
SQL Azure в Microsoft Fabric
Используется VECTOR_NORMALIZE для принятия вектора в качестве входных данных и возврата нормализованного вектора, который является вектором, масштабируемым, чтобы иметь длину 1 в заданном типе норм.
Эта стандартизация имеет решающее значение в различных приложениях искусственного интеллекта, где векторы представляют различные формы данных, такие как визуальное содержимое, текстовая информация или звуковые сигналы. Нормализуя векторы, мы обеспечиваем единообразие в их масштабе, что особенно полезно для операций, использующих измерение расстояния векторов или группирование и различение точек данных.
Хотя модели Azure OpenAI предоставляют нормализованные векторы, существуют другие модели и платформы, в которых векторы не нормализуются автоматически. Например, в библиотеке Gensim, которая обычно используется для задач обработки естественного языка, векторы не всегда нормализованы по умолчанию.
Пользователям часто нужно нормализовать векторы вручную или использовать определенные функции, предоставляемые библиотекой, чтобы убедиться, что векторы имеют длину единицы.
Как правило, при использовании моделей машинного обучения или внедрения векторов важно проверить документацию или выходные данные модели, чтобы определить, нормализуются ли векторы. Если нормализация необходима для приложения, может потребоваться реализовать его как отдельный шаг, если модель не предоставляет нормализованные векторы по умолчанию.
Например, если требуется нормализованный вектор с помощью евклидеанской нормы (который является наиболее распространенным типом норм), можно использовать следующее:
SELECT VECTOR_NORMALIZE ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMALIZEдоступен в Управляемом экземпляре SQL Azure с политикой обновлениядаты sql Server 2025 или Always-up-to-date.
Syntax
Соглашения о синтаксисе Transact-SQL
VECTOR_NORMALIZE ( vector , norm_type )
Arguments
vector
Выражение, которое оценивает тип векторных данных.
norm_type
Строка с именем типа норм, используемого для вычисления нормы заданного вектора. Поддерживаются следующие типы норм:
-
norm1— сумма1-normабсолютных значений векторных компонентов. -
norm2- ,2-normтакже известный как евклидеанский норм, который является квадратным корнем суммы квадратов векторных компонентов. -
norminf- Норма бесконечности, которая является максимумом абсолютных значений векторных компонентов.
Возвращаемое значение
Результатом является вектор с тем же направлением, что и входной вектор, но длиной 1 в соответствии с данной нормой.
Если входные данные заданы NULL, возвращается также NULLрезультат.
Ошибка возвращается, если norm_type не является допустимым типом норм и если вектор не является типом векторных данных.
Examples
Пример 1
Нормализация вектора:
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;
Пример 2
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORMALIZE(@v, 'norm1'),
VECTOR_NORMALIZE(@v, 'norminf');