Microsoft / multilingual-e5-large
Milvus Integrated
작업: 임베딩
형태: 텍스트
유사성 측정법: 모두(정규화)
라이선스: Mit
차원: 1024
최대 입력 토큰: 512
가격: 무료
다국어-e5-대형 임베딩 모델 소개 ## 다국어 임베딩 모델 소개
- 다국어 문서에 맞춤화되어 100개 이상의 언어를 지원하며, 다국어 정보 검색 및 시맨틱 검색 작업에 이상적입니다.
'multilingual-e5-large' 모델은 XLM-RoBERTa-large 아키텍처를 기반으로 Microsoft에서 개발한 최첨단 텍스트 임베딩 모델입니다. 24계층 구조와 5억 6천만 개의 파라미터로 구성된 multilingual-e5-large 모델은 1024차원 임베딩을 생성하고 100개 언어를 지원하여 다국어 컨텍스트에서도 강력한 성능을 제공합니다.
10억 개의 약하게 감독된 텍스트 쌍을 학습하고 특정 데이터 세트에 대해 미세 조정된 이 모델은 다국어 정보 검색 및 의미론적 검색 작업에 탁월한 성능을 발휘합니다. '쿼리:' 또는 '구절:'이 접두사로 붙은 텍스트 입력을 처리하여 의미론적 콘텐츠를 정확하게 반영하는 임베딩을 생성합니다. 이 모델은 다국어 벤치마크에서 소규모 모델과 기존 방식을 능가하는 우수한 성능을 보여 주므로 다국어 텍스트 분석, 클러스터링 및 유사도 비교에 이상적입니다.
다국어-e5-large 모델을 사용하여 벡터 임베딩을 만드는 방법
'multilingual-e5-large' 모델로 벡터 임베딩을 만드는 방법은 크게 두 가지가 있습니다:
- PyMilvus:
multilingual-e5-large모델과 원활하게 통합되는 Milvus 용 Python SDK. - SentenceTransformer 라이브러리:
sentence-transformer의 Python 라이브러리.
벡터 임베딩이 생성되면, 밀버스에서 제공하는 완전 관리형 벡터 데이터베이스 서비스인 질리즈 클라우드에 저장하여 의미적 유사도 검색에 사용할 수 있습니다. 다음은 네 가지 주요 단계입니다:
- 질리즈 클라우드 계정을 무료로 가입합니다.
- 서버리스 클러스터 설정](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 및 퍼블릭 엔드포인트 및 API 키를 발급받습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 시맨틱 검색을 실행합니다.
파이밀버스를 통해 벡터 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 진행합니다.
pymilvus.model.dense에서 SentenceTransformerEmbeddingFunction을 가져옵니다.
파이밀버스에서 밀버스클라이언트를 가져옵니다.
ef = SentenceTransformerEmbeddingFunction("intfloat/multilingual-e5-large")
docs = [
"통과: 인공 지능은 1956 년에 학문 분야로 설립되었습니다.",
"passage: 앨런 튜링은 인공 지능 분야에서 포괄적 인 연구를 수행 한 최초의 사람이었습니다.",
"통과: 图灵出生在伦敦的梅达维尔,他在英格兰南部长。"
]
# 문서에 대한 임베딩 생성
docs_embeddings = ef(docs)
queries = ["쿼리: 인공 지능은 언제 설립되었나요?"
"query: 앨런 튜링은 언제 태어났나요?"]
# 쿼리에 대한 임베딩 생성하기
쿼리_임베딩 = 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/multilingual-e5-large")
docs = [
"passage: 인공 지능은 1956 년에 학문 분야로 설립되었습니다.",
"passage: 앨런 튜링은 인공 지능 분야에서 포괄적 인 연구를 수행 한 최초의 사람이었습니다.",
"통과: 图灵出生在伦敦的梅达维尔,他在英格兰南部长。"
]
# 문서에 대한 임베딩 생성
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["쿼리: 인공 지능은 언제 설립되었나요?"
"query: 앨런 튜링은 언제 태어났나요?" ]
# 쿼리에 대한 임베딩 생성하기
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=1024,
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를 무료로 사용해 보세요

