A Google lançou o EmbeddingGemma 2 em 6 de outubro de 2026, com pesos descarregáveis ao abrigo da licença Apache 2.0. O modelo converte texto, código, imagens, vídeo e áudio em vetores comparáveis num espaço comum de 768 dimensões. Para um programador com uma coleção local, as questões práticas são que codificadores carregar, como representar consultas e ficheiros e se os resultados são úteis para essa coleção. Este guia segue as instruções publicadas e o cartão do modelo da Google; a BIG CHANGE não executou o modelo nem mediu a qualidade da recuperação.
A grande mudança
- O que mudou:O modelo anterior do EmbeddingGemma processava texto. A versão 2 acrescenta codificadores de visão e áudio, permitindo comparar uma consulta textual com multimédia compatível no mesmo espaço vetorial, sem gerar primeiro legendas ou transcrições. A Google já publicou os pesos; prevê-se que o serviço ML Kit para Android chegue nas próximas semanas.
- Porque é importante:Um programador pode carregar os codificadores de que uma coleção local necessita e criar um único índice de recuperação para os tipos de ficheiro compatíveis. A AI Edge Gallery da Googlemostra vetores de multimédia local em SQLite, ordenados por semelhança do cosseno. A aplicação continua a precisar de ingestão de ficheiros, armazenamento de vetores, apresentação de resultados e verificações de correspondências enganadoras.
- O que acompanhar:A decisão imediata é saber se ficheiros representativos ficam bem classificados dentro do orçamento de memória e latência do dispositivo. O futuro serviço Android poderá alterar a integração; o prazo anunciado não significa que esteja disponível hoje.
Escolha as entradas antes de carregar o modelo
O guia do programador documenta o Sentence Transformers 6.1.0 ou posterior e este comando de instalação para toda a multimédia compatível:
pip install -U sentence-transformers[image,audio,video] transformersO checkpoint exato é google/embeddinggemma-2. O carregamento predefinido do Sentence Transformers inclui todos os codificadores. Para uma coleção apenas de texto e código, o guia recomenda excluir visão e áudio durante o carregamento:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"vision_config": None, "audio_config": None},
)Para manter a visão e excluir o áudio, é necessário config_kwargs={"audio_config": None}; para manter o áudio e excluir a visão, config_kwargs={"vision_config": None}. Estas opções alteram os pesos carregados, mas os vetores resultantes continuam no espaço comum do modelo. Assim, segundo o guia, uma consulta só de texto pode ser comparada com uma imagem codificada por uma configuração que inclua visão. A Google descreve o modelo como adequado a dispositivos de consumo, mas o exemplo Python publicado é um início rápido da biblioteca, não uma garantia medida de memória ou latência para o dispositivo do leitor.
Codifique de forma diferente as consultas e os elementos da coleção
Para recuperação textual, o cartão do modelo especifica instruções de tarefa separadas para consultas e elementos do corpus. O Sentence Transformers fornece-as através de prompt_name:
query_vector = model.encode("northern lights", prompt_name="SearchQuery")
document_vector = model.encode(
"Charged particles from the sun cause the northern lights.",
prompt_name="Document",
)
score = model.similarity(query_vector, document_vector)Este excerto documentado produz vetores e uma pontuação de semelhança; não é um resultado observado no nosso ambiente. Document insere title: none. Se um elemento tiver um título real, a Google instrui os programadores a formatá-lo explicitamente como title: {title} | text: {content}. A pesquisa de código usa a instrução de consulta CodeRetrieval e um título ou nome de ficheiro do código indexado. A classificação, a criação de grupos e a semelhança entre frases usam instruções simétricas próprias. O cartão indica que o modelo continua a funcionar sem instruções de texto, mas com menor precisão.
O anterior model não tem codificador de visão nem de áudio. Antes de codificar uma imagem, carregue a configuração de texto e visão do guia a partir do mesmo checkpoint e use esse modelo para a multimédia e a consulta. Esta sequência segue a documentação; não a executámos:
media_model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"audio_config": None},
)
image_vector = media_model.encode({"image": "photo.jpg"})
query_vector = media_model.encode("a photo query", prompt_name="SearchQuery")
score = media_model.similarity(query_vector, image_vector)Para áudio, volte a carregar o modelo sem audio_config: None para ativar o codificador de áudio; o carregamento predefinido completo inclui visão e áudio. O guia da Google passa um dicionário como {"audio": "recording.wav"} sem prefixo de tarefa textual. Também é possível combinar texto e multimédia colocando os marcadores <|image|>, <|video|> ou <|audio|> no texto e fornecendo os ficheiros correspondentes no dicionário. Essa chamada produz um vetor para a entrada combinada. O cartão especifica áudio mono a 16 kHz e indica que, por predefinição, o vídeo é amostrado a um fotograma por segundo. Imagens, fotogramas de vídeo, áudio e texto partilham o orçamento de contexto de 8.192 tokens; um clip longo ou uma entrada mista exige planeamento, em vez de presumir que todos os ficheiros cabem.
Escolha o tamanho do vetor e avalie a compensação
A saída nativa tem 768 dimensões. O cartão da Google suporta 512, 256 e 128 dimensões, truncando o vetor. O guia documenta truncate_dim=256 com normalize_embeddings=True em model.encode(). Os vetores da consulta e dos elementos indexados têm de usar a mesma dimensão; os vetores reduzidos precisam de normalização antes da comparação do cosseno. Segundo o cartão, 128 dimensões perdem substancialmente mais qualidade multimodal do que 256, e são recomendadas sobretudo para cargas de trabalho textuais. Estes valores são resultados de referência da Google em precisão total, não uma previsão de recuperação para uma coleção específica.
A precisão numérica é outra escolha de configuração. O cartão recomenda bfloat16 no hardware compatível ou float32 nos restantes casos, incluindo a maioria dos CPU. Alerta que float16 pode gerar NaN ou degradar silenciosamente os embeddings. As contagens dos parâmetros de carregamento seletivo descrevem componentes do modelo; a memória real do dispositivo e a velocidade de pesquisa dependem do caminho de execução, da precisão, do índice e do tamanho da entrada.
O que avaliar antes de usar os resultados
Um protótipo pode indexar uma pequena amostra autorizada, reservar consultas representativas e verificar se os elementos certos aparecem no topo. Inclua casos de texto para texto, texto para imagem ou texto para áudio apenas se a coleção tiver realmente esses meios. Compare 768 e 256 dimensões com as mesmas consultas, verifique falhas nos idiomas e tipos de documento relevantes e meça memória, tempo de indexação e latência no dispositivo previsto. Estes são passos de avaliação para o leitor; a BIG CHANGE não os realizou.
Os resultados publicados no cartão do modelo atribuem ao EmbeddingGemma 2 uma pontuação de 78,68, face a 68,76 do modelo anterior, no MTEB code v1; no multilingual MTEB v2, as pontuações são 61,36 e 61,15. O cartão também apresenta resultados de imagem, vídeo e áudio, sem comparação com a versão 1 nessas modalidades. Todos os resultados citados usam o checkpoint de precisão total. Descrevem as condições de avaliação da Google, não a precisão num arquivo local. O cartão alerta que a qualidade pode variar por idioma e tarefa e que as aplicações de recuperação precisam de filtros e verificações de equidade próprios.
Os pesos são disponibilizados ao abrigo da Apache 2.0 e o guia liga ao repositório Hugging Face. Os materiais da Google apresentam uma via de execução local, mas não um preço universal de implementação: dispositivo, computação, armazenamento e engenharia são custos da aplicação. A decisão seguinte é verificar se o modelo classifica corretamente ficheiros representativos dentro do orçamento do dispositivo.
Fontes e leituras adicionais
- Anúncio da Google AI Edge, 6 de outubro de 2026: fase de lançamento, pesquisa local de multimédia na AI Edge Gallery e calendário anunciado do ML Kit. As medições de dispositivos neste artigo são da Google.
- Guia do programador do EmbeddingGemma 2, 6 de outubro de 2026: versão da biblioteca, opções de carregamento, exemplos de codificação e instruções para truncar vetores.
- Cartão do modelo EmbeddingGemma 2: arquitetura, limites de entrada, instruções de tarefa, aviso de precisão, tabelas de referência e limitações. Os resultados são da Google.
- Repositório de modelos da Google: checkpoint indicado e ficheiros de modelo publicados. A disponibilidade do repositório não valida o desempenho numa aplicação.



