본문 바로가기

카테고리 없음

[LangChain] 랭체인의 Components(구성요소) - Embedding model

 

 

 

임베딩(Embedding)

텍스트 데이터를 숫자로 이루어진 벡터로 변환하는 과정

벡터 표현은 텍스트 데이터를 벡터 공간 내에서 수학적으로 다룰 수 있게 되므로 텍스트 간 유사성을 계산하거나 텍스트 데이터를 기반으로 하는 다양한 머신러닝 및 자연어 처리 작업을 수행할 수 있음

 

임베딩 과정은 텍스트의 의미적인 정보를 보존하도록 설계되어 있어 벡터 공간에서 가까이 위치한 텍스트 조각들을 의미적으로도 유사한 것으로 간주됨

 

임베딩의 주요 활용 사례:

  • 의미 검색(Semantic Search): 벡터 표현을 활용하여 의미적으로 유사한 텍스트를 검색하는 과정으로, 사용자가 입력한 쿼리에 대해 가장 관련성 높은 문서나 정보를 찾아내는 데 사용됩니다.
  • 문서 분류(Document Classification): 임베딩된 텍스트 벡터를 사용하여 문서를 특정 카테고리나 주제에 할당하는 분류 작업에 사용됩니다.
  • 텍스트 유사도 계산(Text Similarity Calculation): 두 텍스트 벡터 사이의 거리를 계산하여, 텍스트 간의 유사성 정도를 정량적으로 평가합니다.

임베딩 모델 제공자:

  • OpenAI: GPT와 같은 언어 모델을 통해 텍스트의 임베딩 벡터를 생성할 수 있는 API를 제공합니다.
  • Hugging Face: Transformers 라이브러리를 통해 다양한 오픈소스 임베딩 모델을 제공합니다.
  • Google: Gemini, Gemma 등 언어 모델에 적용되는 임베딩 모델을 제공합니다.

임베딩 메소드:

  • embed_documents: 이 메소드는 문서 객체의 집합을 입력으로 받아, 각 문서를 벡터 공간에 임베딩합니다. 주로 대량의 텍스트 데이터를 배치 단위로 처리할 때 사용됩니다.
  • embed_query: 이 메소드는 단일 텍스트 쿼리를 입력으로 받아, 쿼리를 벡터 공간에 임베딩합니다. 주로 사용자의 검색 쿼리를 임베딩하여, 문서 집합 내에서 해당 쿼리와 유사한 내용을 찾아내는 데 사용됩니다.

임베딩은 텍스트 데이터를 머신러닝 모델이 이해할 수 있는 형태로 변환하는 핵심 과정입니다. 다양한 자연어 처리 작업의 기반이 되는 중요한 작업입니다.