포옹하는 얼굴 / all-mpnet-base-v2
Milvus Integrated
작업: 임베딩
형태: 텍스트
유사성 측정법: 모두(정규화)
라이선스: Apache 2.0
차원: 768
최대 입력 토큰: 384
가격: 무료
모델 개요
"all-mpnet-base-v2"는 입력 텍스트를 768차원 벡터로 변환하는 문장 및 짧은 단락 인코더입니다. 이는 대조 학습 목표를 사용하여 10억 개의 문장 쌍으로 구성된 데이터 세트에 대해 미세 조정된 Microsoft/MPNET-BASE 모델의 개선된 버전입니다. 'all-mpnet-base-v2'는 정보 검색, 클러스터링, 문장 유사도와 같은 작업에 적합합니다.
자세한 내용은 이 포스팅을 참조하세요: All-Mpnet-Base-V2: AI로 문장 임베딩 향상하기
all-mpnet-base-v2를 사용하여 임베딩을 만드는 방법
벡터 임베딩을 생성하는 방법에는 크게 두 가지가 있습니다:
- 'all-mpnet-base-v2' 모델을 원활하게 통합하는 Milvus용 Python SDK인 PyMilvus를 사용합니다.
- 센텐스 트랜스포머 라이브러리: 파이썬 라이브러리 '센텐스-트랜스포머'.
벡터 임베딩이 생성되면, 밀버스에서 제공하는 완전 관리형 벡터 데이터베이스인 질리즈 클라우드와 같은 벡터 데이터베이스에 저장하여 의미적 유사도 검색에 사용할 수 있습니다.
다음은 네 가지 주요 단계입니다:
- 질리즈 클라우드 계정에 무료로 가입합니다.
- 서버리스 클러스터를 설정](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster)하고 퍼블릭 엔드포인트 및 API 키를 발급받습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 시맨틱 검색을 실행합니다.
파이밀버스를 통해 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색하기
pymilvus.model.dense에서 SentenceTransformerEmbeddingFunction을 가져옵니다.
pymilvus에서 MilvusClient를 가져옵니다.
ef = SentenceTransformerEmbeddingFunction("sentence-transformers/all-mpnet-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"])
파이밀버스와 all-mpnet-base-v2의 통합]에 대한 자세한 내용은 이 문서(https://milvus.io/docs/embed-with-sentence-transform.md)를 확인하세요.
센텐스 트랜스포머 라이브러리를 통해 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 합니다.
sentence_transformers에서 SentenceTransformer를 가져옵니다.
pymilvus에서 밀버스 클라이언트 가져오기
model = SentenceTransformer("sentence-transformers/all-mpnet-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"])
추가 읽기
- 데이터에 적합한 임베딩 모델 선택하기](https://zilliz.com/blog/choosing-the-right-embedding-model-for-your-data)
- 임베딩 모델 평가하기](https://zilliz.com/learn/evaluating-your-embedding-model)
- 나만의 텍스트 임베딩 모델 훈련하기](https://zilliz.com/learn/training-your-own-text-embedding-model)
- RAG 애플리케이션을 위한 웹사이트 청킹 및 임베딩 초보자 가이드](https://zilliz.com/learn/beginner-guide-to-website-chunking-and-embedding-for-your-genai-applications)
- RAG란 무엇인가요?
원활한 AI 워크플로
임베딩부터 확장 가능한 AI 검색까지—Zilliz Cloud를 사용하면 비교할 수 없는 속도와 효율성으로 임베딩을 저장, 인덱싱 및 검색할 수 있습니다.
Zilliz Cloud를 무료로 사용해 보세요

