Gemini 2.0 (experimental)

Gemini 2.0 Flash ahora está disponible como versión preliminar experimental a través de la API de Gemini de Vertex AI y Vertex AI Studio. El modelo presenta funciones nuevas y capacidades principales mejoradas:

  • API de Multimodal Live: Esta nueva API te ayuda a crear aplicaciones de transmisión de audio y visión en tiempo real con el uso de herramientas.
  • Velocidad y rendimiento: Gemini 2.0 Flash tiene un tiempo hasta el primer token (TTFT) mejorado significativamente en comparación con Gemini 1.5 Flash.
  • Calidad: El modelo mantiene una calidad comparable a la de modelos más grandes, como Gemini 1.5 Pro.
  • Experiencias de agentes mejoradas: Gemini 2.0 ofrece mejoras en la comprensión multimodal, la programación, el seguimiento de instrucciones complejas y las llamadas a funciones. Estas mejoras funcionan en conjunto para ofrecer mejores experiencias de agentes.
  • Modalidades nuevas: Gemini 2.0 presenta la generación de imágenes nativas y las capacidades de texto a voz controlables, lo que permite la edición de imágenes, la creación de material gráfico localizado y la narración expresiva.

Para admitir el nuevo modelo, también enviamos un SDK completamente nuevo que admite una migración simple entre la API para desarrolladores de Gemini y la API de Gemini en Vertex AI.

Para obtener detalles técnicos de Gemini 2.0, consulta Modelos de Google.

SDK de Google Gen AI (experimental)

El nuevo SDK de Google Gen AI proporciona una interfaz unificada a Gemini 2.0 a través de la API de Gemini Developer y la API de Gemini en Vertex AI. Con algunas excepciones, el código que se ejecuta en una plataforma se ejecutará en ambas. Esto significa que puedes crear prototipos de una aplicación con la API para desarrolladores y, luego, migrar la aplicación a Vertex AI sin volver a escribir el código.

El SDK de Gen AI también admite los modelos Gemini 1.5.

El nuevo SDK está disponible en Python y Go, y pronto estará disponible en Java y JavaScript.

Puedes comenzar a usar el SDK como se muestra a continuación.

  1. Instala el nuevo SDK: pip install google-genai
  2. Luego, importa la biblioteca, inicializa un cliente y genera contenido:
from google import genai

# Replace the `project` and `location` values with appropriate values for
# your project.
client = genai.Client(
    vertexai=True, project='YOUR_CLOUD_PROJECT', location='us-central1'
)
response = client.models.generate_content(
    model='gemini-2.0-flash-exp', contents='How does AI work?'
)
print(response.text)

Cómo configurar variables de entorno (opcional)

Como alternativa, puedes inicializar el cliente con variables de entorno. Primero, establece los valores adecuados y exporta las variables:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=YOUR_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

Luego, puedes inicializar el cliente sin ningún argumento:

client = genai.Client()

API de Multimodal Live

La API de Multimodal Live habilita interacciones de voz y video bidireccionales de baja latencia con Gemini. Con la API de Multimodal Live, puedes proporcionar a los usuarios finales la experiencia de conversaciones de voz naturales y similares a las humanas, y la capacidad de interrumpir las respuestas del modelo con comandos por voz. El modelo puede procesar entradas de texto, audio y video, y puede proporcionar salidas de texto y audio.

La API de Multimodal Live está disponible en la API de Gemini como el método BidiGenerateContent y se compila en WebSockets.

Para obtener más información, consulta la guía de referencia de la API de Multimodal Live.

Si quieres ver un ejemplo de texto a texto que te ayude a comenzar a usar la API de Multimodal Live, consulta lo siguiente:

from google import genai

client = genai.Client()
model_id = "gemini-2.0-flash-exp"
config = {"response_modalities": ["TEXT"]}

async with client.aio.live.connect(model=model_id, config=config) as session:
    message = "Hello? Gemini, are you there?"
    print("> ", message, "\n")
    await session.send(input=message, end_of_turn=True)

    async for response in session.receive():
        print(response.text)

Funciones:

  • Entrada de audio con salida de audio
  • Entrada de audio y video con salida de audio
  • Una selección de voces. Consulta las voces de la API de Multimodal Live.
  • Duración de la sesión de hasta 15 minutos para audio o hasta 2 minutos para audio y video

Para obtener información sobre las funciones adicionales de la API de Multimodal Live, consulta Funciones de la API de Multimodal Live.

Language:

  • Solo en inglés

Limitaciones:

La búsqueda como herramienta

Con la fundamentación con la Búsqueda de Google, puedes mejorar la precisión y la actualización de las respuestas del modelo. A partir de Gemini 2.0, la Búsqueda de Google está disponible como herramienta. Esto significa que el modelo puede decidir cuándo usar la Búsqueda de Google. En el siguiente ejemplo, se muestra cómo configurar la Búsqueda como una herramienta.

from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch

client = genai.Client()
model_id = "gemini-2.0-flash-exp"

google_search_tool = Tool(
    google_search = GoogleSearch()
)

response = client.models.generate_content(
    model=model_id,
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[google_search_tool],
        response_modalities=["TEXT"],
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...

# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)

La funcionalidad de Búsqueda como herramienta también habilita búsquedas de varios turnos y consultas de varias herramientas (por ejemplo, combinar Grounding con la Búsqueda de Google y la ejecución de código).

La búsqueda como herramienta permite indicaciones y flujos de trabajo complejos que requieren planificación, razonamiento y pensamiento:

  • Fundamentación para mejorar la veracidad y la actualidad, y proporcionar respuestas más precisas
  • Cómo recuperar artefactos de la Web para realizar un análisis más detallado
  • Encontrar imágenes, videos y otros elementos multimedia relevantes para ayudar en tareas de razonamiento o generación multimodal
  • Programación, solución de problemas técnicos y otras tareas especializadas
  • Encontrar información específica de la región o ayudar a traducir el contenido con precisión
  • Cómo encontrar sitios web relevantes para seguir navegando

Detección de cuadros delimitadores

En este lanzamiento experimental, proporcionamos a los desarrolladores una herramienta potente para la detección y localización de objetos en imágenes y videos. Cuando se identifican y delinean con precisión los objetos con cuadros de límites, los desarrolladores pueden desbloquear una amplia variedad de aplicaciones y mejorar la inteligencia de sus proyectos.

Beneficios clave:

  • Fácil: Integra funciones de detección de objetos en tus aplicaciones con facilidad, independientemente de tu experiencia en visión artificial.
  • Personalizable: Produce cuadros de límite según instrucciones personalizadas (p.ej., "Quiero ver los cuadros de límite de todos los objetos verdes en esta imagen"), sin tener que entrenar un modelo personalizado.

Detalles técnicos:

  • Entrada: Tu instrucción y las imágenes o los fotogramas de video asociados.
  • Resultado: Rectángulos de límite en formato [y_min, x_min, y_max, x_max]. La esquina superior izquierda es el origen. Los ejes x y y se orientan horizontal y verticalmente, respectivamente. Los valores de las coordenadas se normalizan de 0 a 1,000 para cada imagen.
  • Visualización: Los usuarios de AI Studio verán los cuadros de límite trazados dentro de la IU. Los usuarios de Vertex AI deben visualizar sus cuadros delimitados a través de código de visualización personalizado.

Generación de voz (acceso anticipado o lista de entidades permitidas)

Gemini 2.0 admite una nueva función de generación multimodal: texto a voz. Con la función de texto a voz, puedes pedirle al modelo que genere un resultado de audio de alta calidad que suene como una voz humana (say "hi everyone") y puedes definir mejor el resultado dirigiendo la voz.

Generación de imágenes (acceso anticipado/lista de entidades permitidas)

Gemini 2.0 admite la capacidad de generar texto con imágenes intercaladas. Esto te permite usar Gemini para editar imágenes de forma conversacional o generar resultados multimodales (por ejemplo, una entrada de blog con texto e imágenes en una sola vez). Anteriormente, esto habría requerido unir varios modelos.

La generación de imágenes está disponible como versión experimental privada. Admite las siguientes modalidades y capacidades:

  • Texto a imagen
    • Ejemplo de instrucción: “Genera una imagen de la Torre Eiffel con fuegos artificiales en el fondo”.
  • Texto a imágenes y texto (intercalado)
    • Ejemplo de instrucción: "Genera una receta ilustrada de una paella. Crea imágenes que acompañen al texto mientras generas la receta".
  • De imágenes y texto a imágenes y texto (intercalados)
    • Ejemplo de instrucción: (Con una imagen de una habitación amueblada) “¿Qué otros colores de sofás funcionarían en mi espacio? ¿Puedes actualizar la imagen?”
  • Edición de imágenes (texto e imagen a imagen)
    • Ejemplo de instrucción: “Edita esta imagen para que parezca un dibujo animado”.
    • Ejemplo de instrucción: [imagen de un gato] + [imagen de una almohada] + “Crea un punto cruzado de mi gato en esta almohada”.
  • Edición de imágenes de varios turnos (chat)
    • Ejemplos de instrucciones: [Sube una imagen de un auto azul.] "Convierte este auto en un convertible". “Ahora cambia el color a amarillo”.
  • Marcas de agua
    • Todas las imágenes generadas incluyen una marca de agua de SynthID.

Limitaciones:

  • No se permite la generación de personas ni la edición de imágenes subidas de personas.
  • Para obtener el mejor rendimiento, usa los siguientes idiomas: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • La generación de imágenes no admite entradas de audio ni video.
  • Es posible que la generación de imágenes no siempre active lo siguiente:
    • El modelo solo puede generar texto. Intenta solicitar resultados de imagen de forma explícita (p.ej., “genera una imagen”, “proporciona imágenes a medida que avanzas”, “actualiza la imagen”).
    • Es posible que el modelo deje de generar contenido a mitad del proceso. Vuelve a intentarlo o prueba con otra instrucción.

Precios

No se te factura el uso de los modelos experimentales de Google.