0Pricing
Vector Databases: Pinecone, Weaviate & pgvector · Урок

Как работает поиск сходства

Разберитесь в алгоритмах и механизмах поиска похожих объектов с использованием метрик векторного расстояния.

«Как работает поиск сходства» — бесплатный урок Vector Databases: Pinecone, Weaviate & pgvector на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Vector Databases: Pinecone, Weaviate & pgvector, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Vector Databases: Pinecone, Weaviate & pgvector содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Finding What's Alike

You know vectors and embeddings — now see how vector databases use them to find items that are alike. That process is similarity search.

Vectors: Your Data's Coordinates

An embedding is just coordinates in a space, like [0.1, 0.5, -0.2]. Similarity search compares them: close coordinates mean similar original items.

The Idea of 'Distance'

We measure closeness with distance metrics — formulas that return a number for how far apart two vectors are. Smaller distance, more similar.

Euclidean Distance: Straight Line

Euclidean distance is the most intuitive: the straight-line length between two points. It shines when a vector's magnitude matters for similarity.

Euclidean in Action

Here's how to compute Euclidean distance between two simple 2D vectors in code.

import math

def euclidean_distance(v1, v2):
    # Calculates the square root of the sum of squared differences
    return math.sqrt(sum((x - y)**2 for x, y in zip(v1, v2)))

# Example vectors
vec_a = [1, 2]
vec_b = [4, 6]

distance = euclidean_distance(vec_a, vec_b)
print(f"Vector A: {vec_a}")
print(f"Vector B: {vec_b}")
print(f"Euclidean Distance: {distance:.2f}")

Cosine Similarity: Angle Matters

Cosine similarity measures the angle between vectors — whether they point the same way. Great for text, since it tracks theme over length and ignores magnitude.

Cosine in Action

A cosine similarity near 1 means the vectors are closely aligned, so more similar in direction. See it in action here.

import math

def dot_product(v1, v2):
    return sum(x * y for x, y in zip(v1, v2))

def magnitude(v):
    return math.sqrt(sum(x**2 for x in v))

def cosine_similarity(v1, v2):
    dp = dot_product(v1, v2)
    mag1 = magnitude(v1)
    mag2 = magnitude(v2)
    if mag1 == 0 or mag2 == 0:
        return 0 # Handle zero vectors
    return dp / (mag1 * mag2)

# Example vectors
vec_x = [1, 1] # Direction 45 degrees
vec_y = [2, 2] # Same direction, larger magnitude
vec_z = [-1, 1] # Different direction

sim_xy = cosine_similarity(vec_x, vec_y)
sim_xz = cosine_similarity(vec_x, vec_z)

print(f"Cosine Similarity (X, Y): {sim_xy:.2f}")
print(f"Cosine Similarity (X, Z): {sim_xz:.2f}")

Beyond Euclidean & Cosine

Beyond Euclidean and cosine, other metrics exist: Manhattan distance sums absolute differences, dot product measures projection. Pick what 'similar' means for your data.

How Vector DBs Search

Vector DBs don't compute distances one by one — too slow for millions. They use indexing structures, like a library catalog for vectors, to narrow the search fast.

Approximate Nearest Neighbor (ANN)

Most vector DBs use Approximate Nearest Neighbor (ANN) search: instead of the exact closest vector, they return ones very close — trading a little accuracy for huge speed.

Quick Check: Which Metric?

You're building a system to find articles with similar themes, even if one article is much longer than another. Which similarity metric would generally be most appropriate?

Recap: Your Similarity Search Toolkit

Recap: similarity search compares vectors via distance metrics — Euclidean (magnitude-sensitive) and cosine (angle, robust to length) — sped up by indexes and ANN.

Часто задаваемые вопросы

Урок «Как работает поиск сходства» бесплатный?

Да — полный текст урока «Как работает поиск сходства» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Vector Databases: Pinecone, Weaviate & pgvector, подпишись на CoddyKit PRO. Курс Vector Databases: Pinecone, Weaviate & pgvector содержит 4 уроков всего.

Чему я научусь в уроке «Как работает поиск сходства»?

Разберитесь в алгоритмах и механизмах поиска похожих объектов с использованием метрик векторного расстояния. Ты практикуешь Vector Databases: Pinecone, Weaviate & pgvector с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Vector Databases: Pinecone, Weaviate & pgvector?

Предыдущий опыт не требуется. Vector Databases: Pinecone, Weaviate & pgvector на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Как работает поиск сходства»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Vector Databases: Pinecone, Weaviate & pgvector?

Да. Каждый урок Vector Databases: Pinecone, Weaviate & pgvector включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое векторные базы данных
  2. Представления: основная концепция
  3. Как работает поиск сходства
  4. Метрики расстояния и основы индексации
← Назад к Vector Databases: Pinecone, Weaviate & pgvector