포옹하는 얼굴 / all-MiniLM-L12-v2
Milvus Integrated
작업: 임베딩
형태: 텍스트
유사성 측정법: 모두(정규화)
라이선스: Apache 2.0
차원: 384
최대 입력 토큰: 256
가격: 무료
전체 미니LM-L12-v2 임베디드 모델 소개 ## 임베디드 모델 소개
- 'all-MiniLM-L12-v2'는 입력 텍스트의 의미 정보를 캡처한 벡터를 출력하는 문장 및 짧은 문단 인코더입니다.
- 이 모델은 사전 학습된 Microsoft/MiniLM-L12-H384-언케이싱 모델을 기반으로 하며 10억 개 이상의 문장 쌍으로 구성된 대규모 데이터 세트에 대해 대조 학습 목표를 사용하여 미세 조정되었습니다.
- 이 모델은 문장과 단락을 384차원의 고밀도 벡터 공간에 매핑하여 정보 검색, 클러스터링, 시맨틱 검색 같은 작업에 사용할 수 있습니다.
모든 MiniLM-L12-v2 모델로 벡터 임베딩을 생성하는 방법
벡터 임베딩을 생성하는 방법은 크게 두 가지가 있습니다:
- PyMilvus: '문장-변환기' 모델을 원활하게 통합하는 Milvus 용 Python SDK.
- SentenceTransformer 라이브러리: '문장 변환기'의 파이썬 라이브러리.
벡터 임베딩이 생성되면 밀버스에서 제공하는 완전 관리형 벡터 데이터베이스 서비스인 질리즈 클라우드에 저장하여 의미적 유사도 검색에 사용할 수 있습니다. 다음은 네 가지 주요 단계입니다:
- 질리즈 클라우드 계정을 무료로 가입합니다.
- 서버리스 클러스터 설정](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 및 퍼블릭 엔드포인트 및 API 키를 발급받습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 시맨틱 검색을 실행합니다.
파이밀버스를 통해 벡터 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 진행합니다.
pymilvus.model.dense에서 SentenceTransformerEmbeddingFunction을 가져옵니다.
ef = SentenceTransformerEmbeddingFunction("sentence-transformers/all-MiniLM-L12-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("sentence-transformers/all-MiniLM-L12-v2")
docs = [
"인공 지능은 1956년에 학문 분야로 설립되었습니다.",
"앨런 튜링은 AI에서 실질적인 연구를 수행 한 최초의 사람이었습니다.",
"런던의 메이다 베일에서 태어난 튜링은 영국 남부에서 자랐습니다.", "튜링은 영국에서 자랐습니다.".
]
# 문서에 대한 임베딩 생성
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["query: 인공 지능은 언제 설립되었나요?"
"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=384,
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를 무료로 사용해 보세요

