Microsoft / e5-base-v2
Milvus Integrated
작업: 임베딩
형태: 텍스트
유사성 측정법: 모두(정규화)
라이선스: Apache 2.0
차원: 768
최대 입력 토큰: 512
가격: 무료
e5-base-v2 임베딩 소개
'e5-base-v2'는 시맨틱 검색, 검색 증강 생성(RAG), 클러스터링 등 다양한 자연어 처리(NLP) 작업에 사용할 수 있는 텍스트 임베딩 생성을 위해 설계된 모델입니다. 이 모델은 약하게 감독되는 대조적 사전 학습을 기반으로 하며 특히 중간 길이의 텍스트를 반환하는 지저분한 데이터와 짧은 쿼리를 처리하는 데 효과적입니다.
이 모델을 사용하려면 입력 텍스트 앞에 '쿼리: ', 쿼리의 경우 'passage: ' 접두사를 붙여야 합니다. 이 모델은 허깅 페이스의 트랜스포머 및 문장 트랜스포머와 같은 라이브러리를 통해 활용할 수 있으므로 애플리케이션에 쉽게 통합할 수 있습니다.
**'e5-large-v2'와 'e5-base-v2' 비교:
| 기능/성능 | e5-base-v2 | e5-large-v2 |
| 레이어 수 | 12 | 24 |
| 임베딩 크기 | 768 | 1024 |
| 최대 토큰 수 | 512 | 512 |
| 성능** | 일반 텍스트 임베딩 작업에 적합 | BEIR 및 MTEB와 같은 벤치마크에서 강력한 성능, 종종 더 작은 모델보다 성능이 뛰어남 |
| 입력 접두사 요구 사항** | 쿼리의 경우 "query: " 쿼리의 경우, "passage: " 구절의 경우 | "query: " 쿼리의 경우, "passage: " 구절의 경우 |
| 모델 링크 | 허깅페이스 E5-base-v2 | 허깅페이스 E5-large-v2 |
e5-base-v2로 임베딩을 만드는 방법
벡터 임베딩을 만드는 방법에는 크게 두 가지가 있습니다:
- 파이밀버스:
e5-base-v2모델을 원활하게 통합하는 밀버스용 Python SDK. - SentenceTransformer 라이브러리: 파이썬 라이브러리
sentence-transformer.
벡터 임베딩이 생성되면 밀버스에서 제공하는 완전 관리형 벡터 데이터베이스 서비스인 질리즈 클라우드에 저장하여 의미적 유사도 검색에 사용할 수 있습니다. 다음은 네 가지 주요 단계입니다:
- 질리즈 클라우드 계정을 무료로 가입합니다.
- 서버리스 클러스터 설정](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 및 퍼블릭 엔드포인트 및 API 키를 발급받습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 시맨틱 검색을 실행합니다.
파이밀버스를 통해 벡터 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 진행합니다.
pymilvus.model.dense에서 SentenceTransformerEmbeddingFunction을 가져옵니다.
pymilvus에서 MilvusClient를 가져옵니다.
ef = SentenceTransformerEmbeddingFunction("intfloat/e5-base-v2")
docs = [
"인공 지능은 1956년에 학문 분야로 설립되었습니다.",
"앨런 튜링은 AI 분야에서 실질적인 연구를 수행 한 최초의 사람이었습니다.",
"런던의 메이다 베일에서 태어난 튜링은 잉글랜드 남부에서 자랐습니다."
]
# 문서에 대한 임베딩 생성
docs_embedings = ef(docs)
queries = ["인공 지능은 언제 설립되었나요",
"앨런 튜링은 어디에서 태어났나요?"]
# 쿼리에 대한 임베딩 생성하기
쿼리_임베딩 = ef(쿼리)
# 퍼블릭 엔드포인트와 API 키로 질리즈 클라우드에 연결하기
client = 밀버스클라이언트(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
컬렉션 = "문서"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=ef.dim,
auto_id=True)
문서의 경우 zip(docs, docs_embeddings)에 임베딩합니다:
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data = 쿼리_임베딩,
일관성_레벨="강함",
output_fields=["text"])
자세한 내용은 파이밀버스 임베딩 모델 문서를 참조하세요.
센텐스 트랜스포머 라이브러리를 통해 벡터 임베딩을 생성하고 시맨틱 검색을 위해 질리즈 클라우드에 삽입합니다.
sentence_transformers에서 SentenceTransformer를 가져옵니다.
pymilvus에서 MilvusClient를 가져옵니다.
model = SentenceTransformer("intfloat/e5-base-v2")
docs = [
"인공 지능은 1956년에 학문 분야로 설립되었습니다.",
"앨런 튜링은 AI에서 실질적인 연구를 수행 한 최초의 사람이었습니다.",
"런던의 메이다 베일에서 태어난 튜링은 잉글랜드 남부에서 자랐습니다."
]
# 문서에 대한 임베딩 생성
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["인공 지능은 언제 설립되었나요?"],
"앨런 튜링은 어디에서 태어났나요?"]
# 쿼리에 대한 임베딩 생성하기
query_embeddings = model.encode(queries, normalize_embeddings=True)
# 퍼블릭 엔드포인트와 API 키로 질리즈 클라우드에 연결하기
client = 밀버스클라이언트(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
컬렉션 = "문서"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=768,
auto_id=True)
문서의 경우 zip(docs, docs_embeddings)에 임베딩합니다:
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data = 쿼리_임베딩,
일관성_레벨="강함",
output_fields=["text"])
자세한 내용은 SentenceTransformer 문서를 참조하세요.
원활한 AI 워크플로
임베딩부터 확장 가능한 AI 검색까지—Zilliz Cloud를 사용하면 비교할 수 없는 속도와 효율성으로 임베딩을 저장, 인덱싱 및 검색할 수 있습니다.
Zilliz Cloud를 무료로 사용해 보세요

