임베딩의 놀라운 세계!

OpenAI API로 시작하는 임베딩 Introduction

Emmanuel Pire

Senior Software Engineer, DataCamp

임베딩이란?

  • 자연어 처리(NLP) 에서 유래한 개념
  • 텍스트의 수치적 표현

단어가 임베딩 모델에 입력되어 수치적 표현으로 출력되는 과정.

OpenAI API로 시작하는 임베딩 Introduction

임베딩이란?

 

  • 텍스트는 다차원 벡터 공간에 매핑됨
  • 모델이 출력하는 숫자는 공간 내 텍스트의 위치
  • 유사한 단어는 더 가깝게 위치
  • 다른 단어는 더 멀리 위치

유사한 텍스트일수록 더 가깝게 수치로 표현된 텍스트.

OpenAI API로 시작하는 임베딩 Introduction

임베딩이 유용한 이유

  • 임베딩은 의미론적 의미 포착을 가능하게 함
  • 의미론적 의미: 텍스트의 맥락과 의도

 

  • 예시:
    • "슈퍼마켓은 어떻게 가나요?"
    • "가게 가는 길을 알려주시겠어요?"

유사한 텍스트일수록 더 가깝게 수치로 표현된 텍스트.

OpenAI API로 시작하는 임베딩 Introduction

시맨틱 검색 엔진

 

  • 전통적인 검색 엔진
    • 키워드 패턴 매칭 사용
    • 실제 의도를 놓칠 수 있음
    • 단어 변형을 놓칠 수 있음

 

관련 없는 결과를 보여주는 전통적인 검색 엔진.

OpenAI API로 시작하는 임베딩 Introduction

시맨틱 검색 엔진

  • 임베딩을 사용하여 의도와 맥락을 이해

"comfortable running shoes" 텍스트가 임베딩되는 과정.

OpenAI API로 시작하는 임베딩 Introduction

시맨틱 검색 엔진

  • 임베딩을 사용하여 의도와 맥락을 이해

다차원 공간에 표시된 임베딩 텍스트.

OpenAI API로 시작하는 임베딩 Introduction

추천 시스템

 

  • 예시: 채용 공고 추천
    • 이미 조회한 설명을 기반으로 채용 공고 추천
    • 직무 명칭의 변형 차이를 극복

임베딩으로 표시된 채용 공고 추천.

OpenAI API로 시작하는 임베딩 Introduction

분류

 

분류 작업:

  • 감정 분류
  • 관측값 클러스터링
  • 범주화

 

예시:

  • 뉴스 헤드라인 분류

 

분류를 위해 임베딩으로 표시된 미지의 뉴스 헤드라인.

OpenAI API로 시작하는 임베딩 Introduction

임베딩 요청 생성

  • 임베딩 엔드포인트
from openai import OpenAI


client = OpenAI(api_key="<OPENAI_API_KEY>")
response = client.embeddings.create(
model="text-embedding-3-small",
input="Embeddings are a numerical representation of text that can be used to measure the relatedness between two pieces of text."
)
response_dict = response.model_dump() print(response_dict)
1 https://platform.openai.com/docs/api-reference/embeddings
OpenAI API로 시작하는 임베딩 Introduction

임베딩 응답

{'object': 'list',
 'data': [
    {
      "embedding": [0.0023064255, ..., -0.0028842222],
      "index": 0,
      "object": "embedding"
    }
  ],
 'model': 'text-embedding-3-small',
 'usage': {
  "prompt_tokens": 24,
  "total_tokens": 24
  }
}
OpenAI API로 시작하는 임베딩 Introduction

임베딩 추출

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
OpenAI API로 시작하는 임베딩 Introduction

연습해 봅시다!

OpenAI API로 시작하는 임베딩 Introduction

Preparing Video For Download...