Google / EmbeddingGemma
Milvus Integrated
작업: 임베딩
형태: 텍스트
유사성 측정법: 코사인, 도트 곱
라이선스: gemma
차원: 768
최대 입력 토큰: 2048
가격: 무료
EmbeddingGemma 소개
EmbeddingGemma 모델은 Google의 3억 8백만 매개변수 규모 다국어 텍스트 임베딩 모델로, Gemma 3(T5Gemma 초기화 포함)을 기반으로 구축되었으며 Gemini 모델의 기반이 된 동일한 연구 토대를 활용해 개발되었습니다. 분류, 클러스터링, 의미적 유사도 검색을 포함한 검색 및 검색(retrieval) 작업에 매우 적합합니다.
EmbeddingGemm은 100개 이상의 언어를 지원하며 Matryoshka Representation Learning(MRL)을 통해 유연한 출력 차원(768부터 128까지)을 제공합니다. 2K 토큰 컨텍스트 창과 양자화 시 200MB 미만의 메모리 사용량을 갖춘 EmbeddingGemma는 리소스가 제한된 하드웨어에서도 효율적으로 실행됩니다. 휴대폰, 노트북, 태블릿과 같은 일상적인 기기에 배포할 수 있어, 다양한 환경에서 고급 텍스트 임베딩 기능을 이용할 수 있습니다.
EmbeddingGemma로 임베딩을 생성하는 방법
벡터 임베딩을 생성하는 주요 방법은 두 가지입니다.
- PyMilvus:
EmbeddingGemma모델을 원활하게 통합하는 Milvus용 Python SDK입니다. - SentenceTransformer 라이브러리: Python 라이브러리
sentence-transformer입니다.
벡터 임베딩이 생성되면 Zilliz Cloud(Milvus로 구동되는 완전 관리형 벡터 데이터베이스 서비스)에 저장하고 의미적 유사도 검색에 사용할 수 있습니다. 다음은 네 가지 핵심 단계입니다.
- 무료로 Zilliz Cloud 계정에 가입합니다.
- 서버리스 클러스터를 설정하고 Public Endpoint 및 API Key를 얻습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 의미적 검색을 실행합니다.
PyMilvus를 통해 임베딩을 생성하고 의미적 검색을 위해 Zilliz Cloud에 삽입하기
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
# Load the Google EmbeddingGemma-300M model
ef = SentenceTransformerEmbeddingFunction(
"google/embeddinggemma-300m", trust_remote_code=True
)
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
"Born in Maida Vale, London, Turing was raised in southern England.",
]
# Generate embeddings for documents
docs_embeddings = ef(docs)
queries = ["When was artificial intelligence founded", "Where was Alan Turing born?"]
# Generate embeddings for queries
query_embeddings = ef(queries)
# Connect to Zilliz Cloud with Public Endpoint and API Key
client = MilvusClient(uri=ZILLIZ_PUBLIC_ENDPOINT, token=ZILLIZ_API_KEY)
COLLECTION = "embeddinggemma_300m_documents"
# Drop collection if it exists
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
# Create collection with auto-detected dimension
client.create_collection(collection_name=COLLECTION, dimension=ef.dim, auto_id=True)
# Insert documents with embeddings
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
# Search for similar documents
results = client.search(
collection_name=COLLECTION,
data=query_embeddings,
# consistency_level="Strong", # Strong consistency ensures accurate results but may increase latency
output_fields=["text"],
limit=2,
)
# Print search results
for i, query in enumerate(queries):
print(f"\nQuery: {query}")
for result in results[i]:
print(f" - {result['entity']['text']} (distance: {result['distance']:.4f})")
자세한 내용은 PyMilvus Embedding Model 문서를 참조하세요.
원활한 AI 워크플로
임베딩부터 확장 가능한 AI 검색까지—Zilliz Cloud를 사용하면 비교할 수 없는 속도와 효율성으로 임베딩을 저장, 인덱싱 및 검색할 수 있습니다.
Zilliz Cloud를 무료로 사용해 보세요




