Embeddings 개요 — OpenAI 임베딩 모델과 활용

Embeddings 개요

OpenAI의 임베딩은 텍스트 조각을 고정 차원의 벡터로 변환해서 유사도 측정을 가능하게 해요. 컴퓨터가 텍스트 간 '관계'를 이해하는 데 쓰는 핵심 빌딩블록이에요.

임베딩 모델

OpenAI의 최신 임베딩 모델은 text-embedding-3-small, text-embedding-3-large 같은 이름이에요. 모델마다 출력 차원이 정해져 있고, dimensions 파라미터로 차원을 줄일 수도 있어요.

from openai import OpenAI

client = OpenAI()

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="주말에 갈 만한 맛집 추천해 줘",
    dimensions=1536,
)
embedding = response.data[0].embedding
print(len(embedding))

용도

  • 검색: 질의와 문서 임베딩의 거리로 랭킹
  • 추천: 서로 가까운 항목 제안
  • 클러스터링: 벡터 군집으로 주제 분류
  • 분류: 벡터 + 로지스틱/간단 모델

벡터 거리로 유사도

벡터 간 유사도는 코사인 유사도나 내적(dot product) 같은 척도로 계산해요. 임베딩이 잘 학습됐다면 '자동차'와 '차량'이 '자동차'와 '오늘 날씨'보다 가까운 벡터로 나와서, 검색이나 추천이 의미 기반으로 동작해요.

더 알아보기