Menjalankan Kueri Kemiripan
Jalankan kueri kemiripan vektor dasar menggunakan operator pgvector untuk menemukan tetangga terdekat dalam data Anda.
Menjalankan Kueri Kemiripan adalah pelajaran Vector Databases: Pinecone, Weaviate & pgvector gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Vector Databases: Pinecone, Weaviate & pgvector, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Vector Databases: Pinecone, Weaviate & pgvector mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
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.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menjalankan Kueri Kemiripan” gratis?
Ya — teks lengkap “Menjalankan Kueri Kemiripan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Vector Databases: Pinecone, Weaviate & pgvector, upgrade ke CoddyKit PRO. Kursus Vector Databases: Pinecone, Weaviate & pgvector mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menjalankan Kueri Kemiripan”?
Jalankan kueri kemiripan vektor dasar menggunakan operator pgvector untuk menemukan tetangga terdekat dalam data Anda. Kamu berlatih Vector Databases: Pinecone, Weaviate & pgvector dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Vector Databases: Pinecone, Weaviate & pgvector?
Tidak diperlukan pengalaman sebelumnya. Vector Databases: Pinecone, Weaviate & pgvector di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Menjalankan Kueri Kemiripan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Vector Databases: Pinecone, Weaviate & pgvector ini?
Ya. Setiap pelajaran Vector Databases: Pinecone, Weaviate & pgvector menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menyiapkan Ekstensi pgvector
- Menyimpan Vektor di PostgreSQL
- Menjalankan Kueri Kemiripan
- Memilih Metrik Jarak di pgvector