46.6kЗаказать демоВойтиНачать бесплатно
Google

Google / gemini-Embedding-2

Первая нативно мультимодальная embedding-модель Google, поддерживающая более 100 языков для текста, изображений, видео, аудио и документов с выходной размерностью до 3072.

Введение в модель gemini-embedding-2

gemini-embedding-2-preview — первая нативно мультимодальная модель эмбеддингов Google, которая создаёт эмбеддинги размерностью до 3072. По сравнению с другими моделями эмбеддингов Google, такими как text-embedding-004 и gemini-embedding-exp-03-07, Gemini Embedding 2 поддерживает несколько модальностей — текст, изображения, видео, аудио и документы — в едином пространстве эмбеддингов для 100+ языков, что делает её идеальной для мультимодальных RAG и приложений семантического поиска.

Давайте кратко рассмотрим некоторые основы.

МодельРазмерностиМакс. токеновЯзыкиЦена
gemini-embedding-2-preview3072 (поддерживает MRL)8,192100+$0.20 / 1 млн текстовых токенов
gemini-embedding-exp-03-073072 (поддерживает MRL)8,192Многоязычная$0.15 / 1 млн токенов
text-embedding-0047682,048Английский$0.025 / 1 млн символов

Как использовать модель gemini-embedding-2

Существует два основных способа использовать Gemini Embedding 2 для генерации векторных эмбеддингов:

  • PyMilvus: Python SDK для Milvus, который бесшовно интегрирует модель Gemini Embedding 2.
  • Google Gemini API: Python SDK, предлагаемый Google (google-genai).

Эти методы позволяют разработчикам легко включать расширенные возможности мультимодальных эмбеддингов в свои приложения.

После генерации векторных эмбеддингов их можно сохранить в Zilliz Cloud (полностью управляемом сервисе векторной базы данных на базе Milvus) и использовать для семантического поиска по сходству. Вот четыре ключевых шага:

  1. Зарегистрируйтесь для бесплатной учётной записи Zilliz Cloud.
  2. Настройте serverless-кластер и получите Public Endpoint и API Key.
  3. Создайте векторную коллекцию и вставьте свои векторные эмбеддинги.
  4. Запустите семантический поиск по сохранённым эмбеддингам.

Сгенерируйте эмбеддинги через Google Gemini API и вставьте их в Zilliz Cloud для семантического поиска

from google import genai
from pymilvus import MilvusClient

GEMINI_API_KEY = "your-gemini-api-key"
gemini_client = genai.Client(api_key=GEMINI_API_KEY)

# Generate embeddings for documents
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.",
]

doc_result = gemini_client.models.embed_content(
    model="gemini-embedding-2-preview",
    contents=docs,
)
doc_embeddings = [e.values for e in doc_result.embeddings]

# Generate embeddings for queries
queries = ["When was artificial intelligence founded",
           "Where was Alan Turing born?"]

query_result = gemini_client.models.embed_content(
    model="gemini-embedding-2-preview",
    contents=queries,
)
query_embeddings = [e.values for e in query_result.embeddings]

# Connect to Zilliz Cloud with Public Endpoint and API Key
milvus_client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLECTION = "documents"
if milvus_client.has_collection(collection_name=COLLECTION):
    milvus_client.drop_collection(collection_name=COLLECTION)
milvus_client.create_collection(
    collection_name=COLLECTION,
    dimension=3072,
    auto_id=True)

for doc, embedding in zip(docs, doc_embeddings):
    milvus_client.insert(COLLECTION, {"text": doc, "vector": embedding})

results = milvus_client.search(
    collection_name=COLLECTION,
    data=query_embeddings,
    output_fields=["text"])

Для получения дополнительной информации обратитесь к руководству Google по Gemini Embedding.