Gemini 2.0 Flash è ora disponibile come release di anteprima sperimentale tramite l'API Gemini Developer e Google AI Studio. Il modello introduce nuove funzionalità e funzionalità di base avanzate:
- API Multimodal Live:questa nuova API ti aiuta a creare applicazioni di streaming audio e video in tempo reale con l'utilizzo di strumenti.
- Velocità e prestazioni: Gemini 2.0 ha un tempo di risposta al primo token (TTFT) notevolmente migliorato rispetto a 1.5 Flash.
- Qualità: prestazioni migliori rispetto a Gemini 1.5 Pro nella maggior parte dei benchmark.
- Funzionalità di agenti migliorate: Gemini 2.0 offre miglioramenti alla comprensione multimodale, alla programmazione, al rispetto di istruzioni complesse e alla chiamata di funzioni.
- Nuove modalità: Gemini 2.0 introduce la generazione di immagini native e funzionalità di sintesi vocale controllabili.
Per offrire un'esperienza migliore agli sviluppatori, stiamo anche rilasciando un nuovo SDK. Per i dettagli tecnici di Gemini 2.0, consulta Modelli Gemini.
SDK Google Gen AI (sperimentale)
Il nuovo SDK di IA generativa di Google fornisce un'interfaccia unificata a Gemini 2.0 sia tramite l'API Gemini per sviluppatori sia tramite l'API Gemini su Vertex AI. Con alcune eccezioni, il codice che viene eseguito su una piattaforma verrà eseguito su entrambe. Il nuovo SDK è disponibile in Python e Go, mentre Java e JavaScript saranno disponibili a breve.
- Installa il nuovo SDK:
pip install google-genai
- Poi importa la libreria, inizializza un client e genera contenuti:
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)
Gli sviluppatori Python possono anche provare il notebook Iniziazione nel cookbook di Gemini.
API Multimodal Live
L'API Multimodal Live consente interazioni vocali e video bidirezionali con latenza ridotta con Gemini. Con l'API Multimodal Live, puoi offrire agli utenti finali l'esperienza di conversazioni vocali naturali e simili a quelle umane, nonché la possibilità di interrompere le risposte del modello utilizzando i comandi vocali. Il modello può elaborare input di testo, audio e video e fornire output di testo e audio.
Puoi provare l'API Multimodal Live in Google AI Studio. Per scoprire di più sulle funzionalità e sulle limitazioni dell'API, consulta la guida di riferimento dell'API Multimodal Live.
La ricerca come strumento
Utilizzando la funzionalità di grounding con la Ricerca Google, puoi migliorare l'accuratezza e l'aggiornamento delle risposte del modello. A partire da Gemini 2.0, la Ricerca Google è disponibile come strumento. Ciò significa che il modello può decidere quando utilizzare la Ricerca Google. L'esempio seguente mostra come configurare la Ricerca come strumento.
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 funzionalità Ricerca come strumento consente anche ricerche con più turni e query con più strumenti (ad esempio, la combinazione di grounding con la Ricerca Google e l'esecuzione di codice).
La ricerca come strumento consente prompt e flussi di lavoro complessi che richiedono pianificazione, ragionamento e pensiero:
- Basamento per migliorare la veridicità e l'attualità e fornire risposte più accurate
- Recupero di elementi dal web per eseguire ulteriori analisi
- Trovare immagini, video o altri contenuti multimediali pertinenti per supportare le attività di ragionamento o generazione multimodale
- Codifica, risoluzione di problemi tecnici e altre attività specializzate
- Trovare informazioni specifiche per regione o aiutare a tradurre i contenuti con precisione
- Trovare siti web pertinenti per ulteriori ricerche
Per iniziare, puoi provare il notebook dello strumento di ricerca.
Utilizzo migliorato degli strumenti
Gemini 2.0 introduce miglioramenti alle chiamate di funzioni e agli strumenti che forniscono un supporto migliore per le esperienze con agenti.
Chiamate di funzioni compositive
Gemini 2.0 supporta una nuova funzionalità di chiamata di funzioni:
chiamate di funzioni compositive. La chiamata di funzioni compositive consente all'API Gemini di invocare automaticamente più funzioni definite dall'utente durante il processo di generazione di una risposta. Ad esempio, per rispondere al prompt"Get the temperature in my current location"
, l'API Gemini potrebbe invocare sia una funzione get_current_location()
sia una funzione get_weather()
che prende la posizione come parametro.
La chiamata di funzioni compositive con esecuzione di codice richiede streaming bidirezionale ed è supportata solo dalla nuova API Multimodal Live. Di seguito è riportato un esempio che mostra come utilizzare insieme le chiamate di funzioni compositive, l'esecuzione del codice e l'API Multimodal Live:
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")
Gli sviluppatori Python possono provare questa funzionalità nel notebook sull'utilizzo dello strumento API Live.
Utilizzo di più strumenti
Con Gemini 2.0 puoi attivare più strumenti contemporaneamente e sarà il modello a decidere quando richiamarli. Ecco un esempio che attiva due strumenti, l'aggiornamento con la Ricerca Google e l'esecuzione di codice, in una richiesta che utilizza l' API Live multimodale.
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")
Gli sviluppatori Python possono provare questa funzionalità nel notebook sull'utilizzo dello strumento API Live.
Rilevamento del riquadro delimitatore
In questo lancio sperimentale, offriamo agli sviluppatori un potente strumento per il rilevamento e la localizzazione di oggetti all'interno di immagini e video. Identificando e delineando con precisione gli oggetti con le caselle delimitanti, gli sviluppatori possono accedere a una vasta gamma di applicazioni e migliorare l'intelligenza dei loro progetti.
Vantaggi principali:
- Semplice: integra facilmente le funzionalità di rilevamento degli oggetti nelle tue applicazioni, indipendentemente dalle tue competenze in materia di visione artificiale.
- Personalizzabile:genera riquadri di selezione in base a istruzioni personalizzate (ad es. "Voglio vedere i riquadri di selezione di tutti gli oggetti verdi in questa immagine"), senza dover addestrare un modello personalizzato.
Dettagli tecnici:
- Input: il prompt e le immagini o gli frame video associati.
- Output: riquadri di delimitazione nel formato
[y_min, x_min, y_max, x_max]
. L'angolo superior sinistro è l'origine. Gli assix
ey
vanno rispettivamente in orizzontale e verticalmente. I valori delle coordinate sono normalizzati in modo da avere come intervallo 0-1000 per ogni immagine. - Visualizzazione: gli utenti di AI Studio vedranno le caselle delimitanti tracciate all'interno dell'UI. Gli utenti di Vertex AI devono visualizzare i propri bounding box tramite codice di visualizzazione personalizzato.
Gli sviluppatori Python possono provare il notebook di comprensione spaziale 2D o il notebook sperimentale di puntamento 3D.
Sintesi vocale (accesso in anteprima/lista consentita)
Gemini 2.0 supporta una nuova funzionalità di generazione multimodale: la sintesi vocale.
Utilizzando la funzionalità di sintesi vocale, puoi chiedere al modello di generare un output audio di alta qualità che suoni come una voce umana (say "hi everyone"
) e puoi perfezionare ulteriormente l'output modificando la voce.
Generazione di immagini (accesso in anteprima/lista consentita)
Gemini 2.0 supporta la possibilità di generare testo con immagini in linea. In questo modo, puoi utilizzare Gemini per modificare le immagini in modo conversazionale o generare output multimodali (ad esempio, un post del blog con testo e immagini in un unico turno). In precedenza, questo avrebbe richiesto l'unione di più modelli.
La generazione di immagini è disponibile come versione sperimentale privata. Supporta le seguenti modalità e funzionalità:
- Da testo a immagine
- Esempio di prompt: "Genera un'immagine della Torre Eiffel con fuochi d'artificio sullo sfondo".
- Testo in immagini e testo (interlacciati)
- Esempio di prompt: "Genera una ricetta illustrata per una paella".
- Immagini e testo in immagini e testo (interlacciati)
- Prompt di esempio: (con un'immagine di una stanza arredata) "Quali altri divani di colore andrebbero bene nel mio spazio? Puoi aggiornare l'immagine?"
- Modifica delle immagini (da testo a immagine e da immagine a immagine)
- Prompt di esempio: "Modifica questa immagine in modo che assomigli a un cartone animato"
- Esempio di prompt: [immagine di un gatto] + [immagine di un cuscino] + "Crea un punto croce del mio gatto su questo cuscino".
- Modifica di immagini in più turni (chat)
- Prompt di esempio: [carica un'immagine di un'auto blu.] "Trasforma questa auto in un'auto cabrio." "Ora cambia il colore in giallo."
- Filigrana
- Tutte le immagini generate includono una filigrana SynthID.
Limitazioni:
- La generazione di persone e l'editing di immagini di persone caricate non sono consentiti.
- Per un rendimento ottimale, utilizza le seguenti lingue: EN, es-MX, ja-JP, zh-CN, hi-IN.
- La generazione di immagini non supporta input audio o video.
- La generazione di immagini potrebbe non essere sempre attivata:
- Il modello potrebbe restituire solo testo. Prova a chiedere esplicitamente le uscite di immagini (ad es. "genera un'immagine", "fornisci le immagini man mano", "aggiorna l'immagine").
- Il modello potrebbe interrompere la generazione a metà. Riprova o prova con un altro prompt.