0Pricing
Vector Databases: Pinecone, Weaviate & pgvector · Aula

Executando Consultas de Similaridade

Execute consultas básicas de similaridade vetorial usando operadores do pgvector para encontrar vizinhos mais próximos em seus dados.

Executando Consultas de Similaridade é uma aula grátis de Vector Databases: Pinecone, Weaviate & pgvector no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Vector Databases: Pinecone, Weaviate & pgvector, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Vector Databases: Pinecone, Weaviate & pgvector inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Unlocking Similarity Queries

Welcome! In this lesson, we'll dive into one of the most powerful features of vector databases: similarity queries.

You'll learn how to ask your database to find items that are 'similar' to a given item, based on their vector embeddings.

Why Similarity Matters

Similarity queries are at the heart of many AI applications:

  • Recommendation Systems: Find products similar to what a user liked.
  • Semantic Search: Retrieve documents with similar meaning, not just keyword matches.
  • Anomaly Detection: Identify data points that are unusually 'far' from others.

They help us make sense of high-dimensional data.

Measuring Vector Distance

How do we define 'similarity' for vectors? We use distance metrics.

Imagine vectors as points in space. The 'closer' two points are, the more similar their underlying data is. Different metrics measure this distance in different ways.

Euclidean Distance (L2 Norm)

Euclidean distance, also known as L2 distance, is the most intuitive metric. It's the straight-line distance between two points in a Euclidean space.

In pgvector, you use the <-> operator to calculate Euclidean distance. A smaller value means higher similarity.

Cosine Similarity / Distance

Cosine similarity measures the cosine of the angle between two vectors. It tells you if vectors are pointing in roughly the same direction, regardless of their magnitude (length).

pgvector uses the <#> operator for cosine distance. Cosine distance is 1 - cosine_similarity. A smaller cosine distance (closer to 0) means the vectors are more aligned and similar.

Preparing Our Data for Queries

To demonstrate queries, let's set up a simple table with some 3-dimensional vectors. This ensures our code snippets are runnable.

CREATE EXTENSION IF NOT EXISTS vector;

DROP TABLE IF EXISTS items;
CREATE TABLE items (
  id serial PRIMARY KEY,
  embedding vector(3)
);

INSERT INTO items (embedding) VALUES ('[1,2,3]');
INSERT INTO items (embedding) VALUES ('[1.1,2.1,3.1]');
INSERT INTO items (embedding) VALUES ('[10,20,30]');
INSERT INTO items (embedding) VALUES ('[0.9,1.9,2.9]');
INSERT INTO items (embedding) VALUES ('[1.2,2.2,3.2]');

Euclidean Distance Query Example

Now, let's find the 3 items whose embeddings are closest to [1,2,3] using Euclidean distance.

Notice the <-> operator in action!

SELECT
  id,
  embedding,
  embedding <-> '[1,2,3]' AS euclidean_distance
FROM items
ORDER BY euclidean_distance
LIMIT 3;

Interpreting Euclidean Results

When you run the query, you'll see a euclidean_distance column. The items with the smallest distance values are the most similar to your query vector [1,2,3].

For example, [1.1,2.1,3.1] should have a very small Euclidean distance, indicating high similarity.

Cosine Distance Query Example

Next, let's perform a similarity search using cosine distance. We'll again query for items similar to [1,2,3].

Observe the <#> operator. Remember, it returns cosine distance, where lower values mean higher similarity.

SELECT
  id,
  embedding,
  embedding <#> '[1,2,3]' AS cosine_distance
FROM items
ORDER BY cosine_distance
LIMIT 3;

Interpreting Cosine Results

The cosine_distance column shows how aligned the vectors are. A value close to 0 means the vectors point in almost the same direction (very similar).

A value close to 2 means they point in opposite directions (very dissimilar). Values near 1 mean they are orthogonal.

Choosing the Right Metric

Which metric should you use?

  • Euclidean distance is great when the magnitude (length) of the vector is important.
  • Cosine similarity/distance is preferred when only the direction of the vector matters, not its length. This is common for text embeddings where vector length might vary but direction captures semantic meaning.

Quick Check: Operators

You've learned about two key pgvector operators for similarity queries. Let's test your knowledge!

Recap: Similarity Queries

Great job! You've learned how to perform similarity queries with pgvector.

  • We use distance metrics to quantify similarity.
  • Euclidean distance (<->) measures straight-line distance.
  • Cosine distance (<#>) measures the angle between vectors.
  • Choosing the right metric depends on whether vector magnitude or direction is more relevant for your data.

Perguntas Frequentes

A aula “Executando Consultas de Similaridade” é grátis?

Sim — o texto completo de “Executando Consultas de Similaridade” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Vector Databases: Pinecone, Weaviate & pgvector, atualize para CoddyKit PRO. O curso de Vector Databases: Pinecone, Weaviate & pgvector inclui 4 aulas no total.

O que vou aprender em “Executando Consultas de Similaridade”?

Execute consultas básicas de similaridade vetorial usando operadores do pgvector para encontrar vizinhos mais próximos em seus dados. Você pratica Vector Databases: Pinecone, Weaviate & pgvector com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Vector Databases: Pinecone, Weaviate & pgvector?

Nenhuma experiência prévia é necessária. Vector Databases: Pinecone, Weaviate & pgvector no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Executando Consultas de Similaridade”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Vector Databases: Pinecone, Weaviate & pgvector?

Sim. Cada aula de Vector Databases: Pinecone, Weaviate & pgvector inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Configurando a Extensão pgvector
  2. Armazenando Vetores no PostgreSQL
  3. Executando Consultas de Similaridade
  4. Escolhendo métricas de distância no pgvector
← Voltar para Vector Databases: Pinecone, Weaviate & pgvector