사용법 (sentence-transformers와 E5)

사용법 (sentence-transformers와 E5)

E5는 sentence-transformers나 Hugging Face transformers로 쉽게 쓸 수 있어요. 여기서는 sentence-transformers 기준으로 대표 사용법을 살펴볼게요.

sentence-transformers로 사용하기

from sentence_transformers import SentenceTransformer

model = SentenceTransformer('intfloat/e5-large-v2')
texts = [
    "query: how much protein should a female eat",
    "passage: As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day."
]
embeddings = model.encode(texts)

인스트럭션 prefix

E5는 문장 앞에 도메인 접두사를 붙이면 성능이 올라가요.

  • **검색(query-passage)**의 쿼리: query: 접두사
  • 검색의 패시지: passage: 접두사
  • 분류(classification): 分类:
  • 영어 외 작업도 각각의 접두사를 지원해요.

transformers로 사용하기

from transformers import AutoTokenizer, AutoModel

model = AutoModel.from_pretrained('intfloat/e5-large-v2')
tokenizer = AutoTokenizer.from_pretrained('intfloat/e5-large-v2')

임베딩을 뽑은 뒤엔 자주 L2 정규화(normalize) 후 코사인 유사도를 계산해요. 512 토큰 제한을 넘지 않도록 입력을 잘라주는 것도 기억하세요.

더 알아보기