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

Wykonywanie zapytań o podobieństwo

Wykona Pan/Pani podstawowe zapytania o podobieństwo wektorów za pomocą operatorów pgvector, aby znaleźć najbliższych sąsiadów w danych.

Wykonywanie zapytań o podobieństwo to bezpłatna lekcja Vector Databases: Pinecone, Weaviate & pgvector na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Vector Databases: Pinecone, Weaviate & pgvector, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Vector Databases: Pinecone, Weaviate & pgvector zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

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.

Często zadawane pytania

Czy lekcja „Wykonywanie zapytań o podobieństwo” jest bezpłatna?

Tak — pełny tekst „Wykonywanie zapytań o podobieństwo” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Vector Databases: Pinecone, Weaviate & pgvector, przejdź na CoddyKit PRO. Kurs Vector Databases: Pinecone, Weaviate & pgvector zawiera 4 lekcji w sumie.

Co nauczysz się w „Wykonywanie zapytań o podobieństwo”?

Wykona Pan/Pani podstawowe zapytania o podobieństwo wektorów za pomocą operatorów pgvector, aby znaleźć najbliższych sąsiadów w danych. Ćwiczysz Vector Databases: Pinecone, Weaviate & pgvector z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Vector Databases: Pinecone, Weaviate & pgvector?

Nie wymagamy żadnego doświadczenia. Vector Databases: Pinecone, Weaviate & pgvector w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wykonywanie zapytań o podobieństwo”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Vector Databases: Pinecone, Weaviate & pgvector?

Tak. Każda lekcja Vector Databases: Pinecone, Weaviate & pgvector zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konfigurowanie rozszerzenia pgvector
  2. Przechowywanie wektorów w PostgreSQL
  3. Wykonywanie zapytań o podobieństwo
  4. Wybór metryk odległości w pgvector
← Powrót do Vector Databases: Pinecone, Weaviate & pgvector