Ähnlichkeitsabfragen ausführen
Führen Sie grundlegende Vektorähnlichkeitsabfragen mit pgvector-Operatoren aus, um die nächsten Nachbarn in Ihren Daten zu finden.
Ähnlichkeitsabfragen ausführen ist eine kostenlose Vector Databases: Pinecone, Weaviate & pgvector-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Vector Databases: Pinecone, Weaviate & pgvector-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Vector Databases: Pinecone, Weaviate & pgvector-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
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.
Häufig gestellte Fragen
Ist die Lektion „Ähnlichkeitsabfragen ausführen“ kostenlos?
Ja — der vollständige Text von „Ähnlichkeitsabfragen ausführen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Vector Databases: Pinecone, Weaviate & pgvector-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Vector Databases: Pinecone, Weaviate & pgvector-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ähnlichkeitsabfragen ausführen“?
Führen Sie grundlegende Vektorähnlichkeitsabfragen mit pgvector-Operatoren aus, um die nächsten Nachbarn in Ihren Daten zu finden. Du übst Vector Databases: Pinecone, Weaviate & pgvector mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Vector Databases: Pinecone, Weaviate & pgvector zu starten?
Keine Vorkenntnisse erforderlich. Vector Databases: Pinecone, Weaviate & pgvector auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Ähnlichkeitsabfragen ausführen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Vector Databases: Pinecone, Weaviate & pgvector-Lektion Code schreiben und ausführen?
Ja. Jede Vector Databases: Pinecone, Weaviate & pgvector-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- pgvector-Erweiterung einrichten
- Vektoren in PostgreSQL speichern
- Ähnlichkeitsabfragen ausführen
- Distanzmetriken in pgvector auswählen