0Pricing
Vector Databases: Pinecone, Weaviate & pgvector · 강의

유사도 검색 이해하기

벡터 거리 지표를 사용해 유사한 항목을 찾는 알고리즘과 작동 원리를 이해합니다.

유사도 검색 이해하기은(는) CoddyKit의 무료 Vector Databases: Pinecone, Weaviate & pgvector 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 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 AI 튜터), CoddyKit PRO로 업그레이드하면 Vector Databases: Pinecone, Weaviate & pgvector 강의 전체를 잠금 해제할 수 있습니다. Vector Databases: Pinecone, Weaviate & pgvector 강의에는 총 4개의 강의가 포함되어 있습니다.

“유사도 검색 이해하기”에서 뭘 배우나요?

벡터 거리 지표를 사용해 유사한 항목을 찾는 알고리즘과 작동 원리를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Vector Databases: Pinecone, Weaviate & pgvector을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Vector Databases: Pinecone, Weaviate & pgvector을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Vector Databases: Pinecone, Weaviate & pgvector은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“유사도 검색 이해하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Vector Databases: Pinecone, Weaviate & pgvector 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Vector Databases: Pinecone, Weaviate & pgvector 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 벡터 데이터베이스란 무엇인가요
  2. 임베딩: 핵심 개념
  3. 유사도 검색 이해하기
  4. 거리 메트릭 및 인덱싱 기초
← Vector Databases: Pinecone, Weaviate & pgvector(으)로 돌아가기