사용법과 질의 인스트럭션
사용법과 질의 인스트럭션
BGE는 sentence-transformers, FlagEmbedding, HuggingFace 등 어디서든 쓸 수 있어요. 문장을 임베딩하려면 우선 정규화한 뒤 사용해요.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('BAAI/bge-large-en-v1.5')
sentences = ['example sentence', 'another sentence']
sentence_embeddings = model.encode(sentences, normalize_embeddings=True)
검색(리트리벌)에서는 질의에 인스트럭션을 붙여 주면 더 좋아요. 문서(passage)에는 인스트럭션을 붙이지 않아요.
query = model.encode(
["Represent this sentence for searching relevant passages: " + query],
normalize_embeddings=True)
LangChain의 HuggingFaceEmbeddings에서는 query_encode_kwargs로 이 프롬프트를 지정해요. bge-m3는 쿼리 프롬프트 없이 훈련됐으므로 별도 설정이 필요 없어요.
embeddings = HuggingFaceEmbeddings(
model_name="BAAI/bge-large-en-v1.5",
encode_kwargs={"normalize_embeddings": True},
query_encode_kwargs={
"prompt": "Represent this sentence for searching relevant passages: ",
"normalize_embeddings": True,
},
)