Google / EmbeddingGemma
Milvus Integrated
Задача: Встраивание
Модальность: Текст
Метрика сходства: Косинус, точечное произведение
Лицензия: gemma
Размерности: 768
Максимальное количество входных токенов: 2048
Цена: Бесплатно
Введение в EmbeddingGemma
Модель EmbeddingGemma — это многоязычная модель текстовых эмбеддингов от Google с 308 млн параметров, построенная на Gemma 3 (с инициализацией T5Gemma) и разработанная на тех же исследовательских основах, что и модели Gemini. Она хорошо подходит для задач поиска и извлечения, включая классификацию, кластеризацию и поиск по семантическому сходству.
EmbeddingGemm поддерживает более 100 языков и предлагает гибкие размерности вывода (от 768 до 128) посредством Matryoshka Representation Learning (MRL). Благодаря контекстному окну в 2K токенов и объему памяти менее 200MB при квантовании EmbeddingGemma эффективно работает на оборудовании с ограниченными ресурсами. Ее можно развертывать на повседневных устройствах, таких как телефоны, ноутбуки и планшеты, что делает расширенные возможности текстовых эмбеддингов доступными в широком спектре сценариев.
Как создавать эмбеддинги с помощью EmbeddingGemma
Существует два основных способа генерации векторных эмбеддингов:
- PyMilvus: Python SDK для Milvus, который бесшовно интегрирует модель
EmbeddingGemma. - Библиотека SentenceTransformer: Python-библиотека
sentence-transformer.
После генерации векторных эмбеддингов их можно хранить в Zilliz Cloud (полностью управляемом сервисе векторной базы данных на базе Milvus) и использовать для поиска по семантическому сходству. Вот четыре ключевых шага:
- Зарегистрируйтесь для бесплатного аккаунта Zilliz Cloud.
- Настройте serverless-кластер и получите 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 Бесплатно




