Categorias:

Funções de similaridade vetorial

VECTOR_INNER_PRODUCT

Calcula o produto interno de dois vetores.

O produto interno (também conhecido como produto escalar ou de ponto) multiplica dois vetores. O resultado representa a direção combinada dos dois vetores. Vetores semelhantes resultam em produtos internos maiores do que vetores diferentes.

Consulte também:

VECTOR_L2_DISTANCE , VECTOR_COSINE_SIMILARITY , Incorporações de vetor

Sintaxe

VECTOR_INNER_PRODUCT( <vector>, <vector> )
Copy

Argumentos

vector

Primeiro valor VECTOR.

vector

Segundo valor VECTOR.

Retornos

Retorna um VECTOR que é o produto interno dos dois vetores fornecidos como entradas.

Notas de uso

  • Devido a otimizações computacionais nas funções de comparação de vetores, os erros de ponto flutuante podem ser um pouco maiores do que o normal (por exemplo, cerca de 1e-4).

Exemplos

Este exemplo usa a função VECTOR_INNER_PRODUCT para determinar quais vetores na tabela estão mais próximos entre si entre as colunas a e b:

CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);

-- Compute the pairwise inner product between columns a and b
SELECT VECTOR_INNER_PRODUCT(a, b) FROM vectors;
Copy
+------+
| 6.3  |
|------|
| 41.2 |
+------+