Gemini 2.0 Flash (expérimental)

Gemini 2.0 Flash est désormais disponible en version preview expérimentale via l'API Gemini Developer et Google AI Studio. Le modèle introduit de nouvelles fonctionnalités et des fonctionnalités de base améliorées:

  • API Multimodal Live:cette nouvelle API vous aide à créer des applications de streaming audio et vidéo en temps réel avec l'utilisation d'outils.
  • Vitesse et performances:Gemini 2.0 améliore considérablement le temps avant le premier jeton (TTFT) par rapport à 1.5 Flash.
  • Qualité:meilleures performances sur la plupart des benchmarks que Gemini 1.5 Pro.
  • Amélioration des capacités d'agentivité:Gemini 2.0 améliore la compréhension multimodale, le codage, le suivi d'instructions complexes et l'appel de fonction.
  • Nouvelles modalités:Gemini 2.0 introduit la génération d'images natives et des fonctionnalités de synthèse vocale contrôlées.

Pour offrir une meilleure expérience aux développeurs, nous lançons également un nouveau SDK. Pour en savoir plus sur les détails techniques de Gemini 2.0, consultez la section Modèles Gemini.

SDK Google Gen AI (version expérimentale)

Le nouveau SDK Google Gen AI fournit une interface unifiée à Gemini 2.0 via l'API Gemini Developer et l'API Gemini sur Vertex AI. À quelques exceptions près, le code qui s'exécute sur une plate-forme s'exécute sur les deux. Le nouveau SDK est disponible en Python et en Go, et sera bientôt disponible en Java et en JavaScript.

  1. Installez le nouveau SDK: pip install google-genai
  2. Importez ensuite la bibliothèque, initialisez un client et générez du contenu:
from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(model='gemini-2.0-flash-exp', contents='How does AI work?')
print(response.text)

Les développeurs Python peuvent également essayer le notebook de démarrage dans le Cookbook Gemini.

API Multimodal Live

L'API Multimodal Live permet des interactions vocales et vidéo bidirectionnelles à faible latence avec Gemini. L'API Multimodal Live vous permet de proposer aux utilisateurs finaux des conversations vocales naturelles, semblables à celles d'un être humain, et de leur permettre d'interrompre les réponses du modèle à l'aide de commandes vocales. Le modèle peut traiter des entrées textuelles, audio et vidéo, et peut fournir des sorties textuelles et audio.

Vous pouvez essayer l'API Multimodal Live dans Google AI Studio. Pour en savoir plus sur les fonctionnalités et les limites de l'API, consultez le guide de référence de l'API Multimodal Live.

La recherche comme outil

En utilisant l'ancrage avec la recherche Google, vous pouvez améliorer la précision et la récence des réponses du modèle. À partir de Gemini 2.0, la recherche Google est disponible en tant qu'outil. Cela signifie que le modèle peut décider quand utiliser la recherche Google. L'exemple suivant montre comment configurer la recherche en tant qu'outil.

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 fonctionnalité de recherche en tant qu'outil permet également d'effectuer des recherches multi-tours et des requêtes multi-outils (par exemple, en combinant la mise à la terre avec la recherche Google et l'exécution de code).

La recherche en tant qu'outil permet d'utiliser des requêtes et des workflows complexes qui nécessitent de la planification, du raisonnement et de la réflexion:

  • Ancrage pour améliorer la facticité et la récence, et fournir des réponses plus précises
  • Récupérer des artefacts sur le Web pour les analyser plus en détail
  • Trouver des images, des vidéos ou d'autres contenus multimédias pertinents pour faciliter les tâches de raisonnement ou de génération multimodales
  • Codage, dépannage technique et autres tâches spécialisées
  • Rechercher des informations spécifiques à une région ou aider à traduire des contenus de manière précise
  • Trouver des sites Web pertinents pour poursuivre la navigation

Pour vous lancer, vous pouvez essayer le notebook de l'outil de recherche.

Amélioration de l'utilisation des outils

Gemini 2.0 apporte des améliorations aux appels de fonction et aux outils qui offrent une meilleure prise en charge des expériences d'agent.

Appel de fonction compositionnel

Gemini 2.0 est compatible avec une nouvelle fonctionnalité d'appel de fonction : l'appel de fonction compositionnel. L'appel de fonction compositionnel permet à l'API Gemini d'appeler automatiquement plusieurs fonctions définies par l'utilisateur lors de la génération d'une réponse. Par exemple, pour répondre à l'invite "Get the temperature in my current location", l'API Gemini peut appeler à la fois une fonction get_current_location() et une fonction get_weather() qui utilise la localisation comme paramètre.

L'appel de fonction compositionnel avec exécution de code nécessite un streaming bidirectionnel et n'est compatible qu'avec la nouvelle API Multimodal Live. Voici un exemple montrant comment utiliser l'appel de fonction compositionnel, l'exécution de code et l'API Multimodal Live ensemble:

turn_on_the_lights_schema = {'name': 'turn_on_the_lights'}
turn_off_the_lights_schema = {'name': 'turn_off_the_lights'}

prompt = """
  Hey, can you write run some python code to turn on the lights, wait 10s and then turn off the lights?
  """

tools = [
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Les développeurs Python peuvent essayer cela dans le notebook d'utilisation de l'outil d'API en direct.

Utilisation d'un outil multifonction

Avec Gemini 2.0, vous pouvez activer plusieurs outils en même temps, et le modèle décidera quand les appeler. Voici un exemple qui active deux outils, l'ancrage avec la recherche Google et l'exécution de code, dans une requête à l'aide de l'API Multimodal Live.

prompt = """
  Hey, I need you to do three things for me.

  1. Turn on the lights.
  2. Then compute the largest prime palindrome under 100000.
  3. Then use Google Search to look up information about the largest earthquake in California the week of Dec 5 2024.

  Thanks!
  """

tools = [
    {'google_search': {}},
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Les développeurs Python peuvent essayer cela dans le notebook d'utilisation de l'outil d'API en direct.

Détection de cadre de délimitation

Avec ce lancement expérimental, nous mettons à la disposition des développeurs un outil puissant pour la détection et la localisation d'objets dans les images et les vidéos. En identifiant et en délimitant précisément les objets à l'aide de cadres de délimitation, les développeurs peuvent exploiter un large éventail d'applications et améliorer l'intelligence de leurs projets.

Principaux avantages :

  • Simplicité:intégrez facilement des fonctionnalités de détection d'objets dans vos applications, quel que soit votre niveau d'expertise en vision par ordinateur.
  • Personnalisable:produit des cadres de délimitation en fonction d'instructions personnalisées (par exemple, "Je souhaite voir les cadres de délimitation de tous les objets verts de cette image"), sans avoir à entraîner un modèle personnalisé.

Détails techniques:

  • Entrée:votre requête et les images ou les images vidéo associées.
  • Résultat:cadres de délimitation au format [y_min, x_min, y_max, x_max]. Le coin supérieur gauche correspond à l'origine. Les axes x et y vont horizontalement et verticalement, respectivement. Les valeurs des coordonnées sont normalisées sur la plage 0-1000 pour chaque image.
  • Visualisation:les utilisateurs d'AI Studio verront des rectangles de délimitation tracés dans l'interface utilisateur. Les utilisateurs de Vertex AI doivent visualiser leurs rectangles de délimitation à l'aide d'un code de visualisation personnalisé.

Pour les développeurs Python, essayez le notebook sur la compréhension spatiale 2D ou le notebook expérimental sur le pointage 3D.

Génération de synthèse vocale (accès anticipé/liste d'autorisation)

Gemini 2.0 prend en charge une nouvelle fonctionnalité de génération multimodale: la synthèse vocale. Grâce à la fonctionnalité de synthèse vocale, vous pouvez demander au modèle de générer une sortie audio de haute qualité qui ressemble à une voix humaine (say "hi everyone"). Vous pouvez également affiner davantage la sortie en orientant la voix.

Génération d'images (accès anticipé/liste d'autorisation)

Gemini 2.0 permet de générer du texte avec des images intégrées. Vous pouvez ainsi utiliser Gemini pour modifier des images de manière conversationnelle ou générer des sorties multimodales (par exemple, un article de blog avec du texte et des images en une seule phrase). Auparavant, cela aurait nécessité de relier plusieurs modèles.

La génération d'images est disponible en version expérimentale privée. Il est compatible avec les modalités et fonctionnalités suivantes:

  • Texte vers image
    • Exemple de requête : "Génère une image de la tour Eiffel avec des feux d'artifice en arrière-plan."
  • Texte vers une ou plusieurs images et texte (entrelacé)
    • Exemple de requête : "Génère une recette illustrée pour une paella."
  • Image(s) et texte vers image(s) et texte (entrelacé)
    • Exemple d'invite : (avec une image d'une pièce meublée) "Quelle autre couleur de canapé irait bien dans mon espace ? Pouvez-vous mettre à jour l'image ?"
  • Modification d'images (texte et image vers image)
    • Exemple de requête : "Modifiez cette image pour qu'elle ressemble à un dessin animé"
    • Exemple de requête : [image d'un chat] + [image d'un oreiller] + "Crée un point de croix de mon chat sur cet oreiller."
  • Modification d'images multitours (chat)
    • Exemples de requêtes : [importez une image d'une voiture bleue.] "Transformez cette voiture en cabriolet." "Maintenant, changez la couleur en jaune."
  • Filigrane
    • Toutes les images générées incluent un filigrane SynthID.

Limites :

  • La génération de personnes et l'édition d'images importées de personnes ne sont pas autorisées.
  • Pour des performances optimales, utilisez les langues suivantes: EN, es-MX, ja-JP, zh-CN et hi-IN.
  • La génération d'images n'est pas compatible avec les entrées audio ni vidéo.
  • La génération d'images ne se déclenche pas toujours :
    • Le modèle ne peut générer que du texte. Essayez de demander explicitement des sorties d'image (par exemple, "générer une image", "fournir des images au fur et à mesure", "mettre à jour l'image").
    • Le modèle peut s'arrêter de générer des résultats en cours de route. Réessayez ou utilisez une autre requête.