Google: Gemini Embedding 2
Gemini Embedding 2 asigna texto, imágenes, audio, video y PDF a un espacio numérico compartido. Sus vectores permiten búsqueda entre modalidades, recuperación, clasificación y agrupación, con dimensiones flexibles y un límite de entrada de 8192 tokens.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Gemini Embedding 2 es el modelo de embeddings multimodales de Google para representar numéricamente texto, imágenes, video, audio y PDF. Asigna los distintos tipos de medios a un espacio compartido para que una aplicación pueda comparar su significado. El resultado es un vector de números, útil para búsqueda semántica, recuperación documental, recomendaciones, clasificación o agrupación; no es una respuesta escrita ni un archivo multimedia generado. Google documenta cobertura semántica en más de 100 idiomas.
Para una base de conocimiento, crea vectores de los pasajes de origen, compara una consulta del usuario con ellos y recupera el material pertinente. Un modelo textual separado puede redactar después una respuesta utilizando esas fuentes. Para una colección multimedia, una descripción textual puede buscar imágenes o videos relacionados; una imagen también puede aportar la consulta. Conserva la conexión de cada vector con el contenido original, incluida una referencia de página o clip, para que el resultado recuperado pueda examinarse y mostrarse en su contexto original.
El límite global de entrada es de 8192 tokens. La guía del modelo estable permite hasta seis imágenes PNG o JPEG, hasta 180 segundos de audio MP3 o WAV y hasta 120 segundos de video MP4 o MOV. Los códecs de video documentados son H264, H265, AV1 y VP9. El procesamiento de video utiliza como máximo 32 fotogramas: los clips de hasta 32 segundos se muestrean a un fotograma por segundo, mientras que los clips más largos se muestrean uniformemente hasta obtener 32 fotogramas. La pista de audio de un video no se procesa en esa entrada de video; genera el embedding de su sonido por separado cuando importe para la recuperación.
La entrada PDF acepta un archivo con un máximo de seis páginas. Google recomienda una página por PDF para la mejor calidad. Divide una fuente más grande en páginas o secciones significativas y conserva su relación con el documento original. Elige un extracto que represente lo que debe poder recuperarse, en lugar de combinar materiales sin relación solo porque quepan en el límite. El límite compartido de tokens sigue aplicándose a una solicitud de medios mixtos. Cada página PDF consume 258 tokens visuales además de los tokens de su texto extraído. En el flujo documentado de Google, el contenido que supera el límite compartido de 8192 tokens se trunca sin error.
La dimensionalidad de salida es flexible entre 128 y 3072, con 3072 como valor predeterminado y 768, 1536 y 3072 como tamaños recomendados. El modelo utiliza Matryoshka Representation Learning, por lo que los prefijos del vector siguen siendo útiles con dimensiones menores. Su guía documenta normalización automática tanto para los vectores predeterminados como para los acortados. Elige una dimensión coherente para los registros y consultas que compare tu aplicación; el tamaño solicitado cambia la representación numérica, no el propio contenido de origen.
Para tareas exclusivamente textuales, incluye el propósito en el texto, en lugar de utilizar el campo antiguo task_type. Google distingue la recuperación asimétrica de la comparación simétrica. Una consulta de búsqueda utiliza «task: search result | query: {content}», mientras que un documento de origen utiliza «title: {title} | text: {content}»; utiliza «title: none» si no tiene título. Las tareas de pregunta-respuesta, verificación de hechos y recuperación de código tienen sus propios prefijos de consulta. Para clasificación, agrupación o similaridad entre frases, utiliza el mismo formato de tarea de forma coherente en ambos lados. La guía desaconseja en general añadir un prefijo de tarea a la parte textual de una representación multimodal combinada.
La estructura de entrada determina si el resultado representa un objeto combinado o elementos separados. Varias partes proporcionadas juntas crean un embedding agregado; objetos Content separados crean embeddings separados para cada entrada. Para una publicación con texto e imagen, una representación combinada puede captar su relación. Para registros que deban buscarse de forma independiente, mantenlos separados. Esta elección afecta a la granularidad de recuperación: un vector para una publicación entera es distinto de uno para cada pasaje o imagen.
La guía afirma que los vectores de Gemini Embedding 001 y Gemini Embedding 2 ocupan espacios incompatibles y no pueden compararse directamente. Una colección migrada del modelo anterior necesita nuevos embeddings para el espacio nuevo. Mantén la elección de modelo y las dimensiones coherentes con los vectores que se comparan y conserva el texto y los medios originales por separado del índice numérico. La similaridad de un embedding es una señal de recuperación, en lugar de una explicación factual de por qué un documento responde a la pregunta del usuario.
Para un catálogo práctico, genera un embedding combinado de una fotografía de producto y su descripción aprobada cuando el par deba recuperarse como un objeto. Para una colección documental, genera embeddings de pasajes específicos y compáralos con una consulta formateada según su propósito, y después presenta los pasajes de origen junto al resultado de búsqueda. Para audio o video, elige el episodio que describe el evento que se quiere buscar y conserva su intervalo temporal original. El entregable útil es una representación numérica vinculada a evidencia de origen para el siguiente paso de búsqueda o análisis de la aplicación.
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Inicio
Gemini Embedding 2 asigna texto, imágenes, audio, video y PDF a un espacio numérico compartido. Sus vectores permiten búsqueda entre modalidades, recuperación, clasificación y agrupación, con dimensiones flexibles y un límite de entrada de 8192 tokens.
- Entradas aceptadas
- Texto · token_ids
- Resultados
- embedding
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings
- Entrada
text,token_ids- Salida
embedding- Contexto
- 8,192 tokens
- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites google/gemini-embedding-2 | Predeterminado— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 Condiciones: Lote homogéneo no vacío. Los ID de tokens son números enteros no negativos. Presupuesto de entrada: Máximo: 8,192 · Unidad de texto: bytes UTF8 · Unidad de tokens: elementos de un arreglo de tokens | Predeterminado— |
Campoencoding_format | Tipostring | RequisitoOpcional | Valores y límites float | Predeterminadofloat |
Campodimensions | Tipointeger | RequisitoNo compatible | Valores y límites Mínimo: 1 | Predeterminado— |
Campouser | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo. | Predeterminado— |
Camposession_id | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo. | Predeterminado— |
Campotrace | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo. | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites Condiciones: provider.options rechazado | Predeterminado— |
Combinaciones de materiales de entrada
text_to_embedding
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, input |
Parámetroinput_shapes | Contratostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parámetroencoding_format | Contratofloat |
Parámetrodimensions_override | Contratofalse |
Parámetromax_input_budget_units | Contrato8192 |
Parámetromultimodal_objects | Contratofalse |
Parámetromaterial_types | Contratotext, token_ids |
Ciclo de vida: synchronous_json
Conserva todos los índices y dimensiones de los vectores.
El nombre de un modelo multimodal no habilita objetos de imagen en esta ruta exacta.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Tarifa estándar Cuando se selecciona el modo fast
- Modo flex
- Tarifa estándar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Tarifa estándar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.0004 / 1K tokens Salida · Tokens de salida $0 / 1K tokens Entrada · Lectura de caché — / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Representaciones vectoriales
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-embedding-2", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='google/gemini-embedding-2',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Recibir y guardar resultados
Ailoot Ultra · Representaciones vectoriales
json
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada vector con su índice. La cantidad de vectores debe ser igual a la cantidad de entradas; las dimensiones deben ser consistentes.
Si es necesario revisar la respuesta original
No se incorpora ningún endpoint de tareas de embeddings.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra google/gemini-embedding-2
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Google: Gemini Embedding 2
- ¿Qué entradas y resultados están disponibles?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- ¿Qué campos utiliza la solicitud?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- ¿Qué límites se aplican?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(bytes UTF8);input.min_items:1