Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Esempio di app con Gemini con Firebase Studio

Un esempio di utilizzo di app con Gemini in cui creiamo un notebook Python direttamente all'interno di Firebase Studio
Un esempio di utilizzo di app con Gemini in cui creiamo un notebook Python direttamente all'interno di Firebase Studio
Link copiato negli appunti

Come esempio di utilizzo di app con Gemini creiamo un notebook Python direttamente all'interno di Firebase Studio.

Cosa è un notebook

Un notebook è un particolare ambiente di sviluppo, diffusissimo in ogni ambito della Data Science e dell'Intelligenza Artificiale, composto da una sequenza di celle che possono essere di codice o di testo. Con tale combinazione è possibile non solo sviluppare elaborazioni (tutte le celle di codice di uno stesso notebook compongono un unico programma) ma anche costruire documentazione e spiegazioni concettuali che possono rendere un notebook, nel suo complesso, una soluzione completa e chiara di un qualsiasi problema.

Il notebook è uno strumento che deve la sua diffusione ad una gran varietà di offerte in locale e in remoto. Dall'installazione nella propria macchina, anche in pacchetti completi come Anaconda, all'utilizzo da remoto con progetti come Google Colab fino a diventare uno strumento di riferimento per la realizzazione di soluzioni in Cloud come la piattaforma DataBricks. Anche in Firebase Studio è stato integrato e questo è un esempio di come questo ambiente di lavoro sia pronto per qualsiasi tipo di sfida.

Come Firebase Studio prepara un notebook

Lo spunto per cui il notebook viene fuso con questo contesto riguarda il suo utilizzo nella soluzione di problemi di Intelligenza Artificiale e la predisposizione di una chiave Gemini API favorisce la disponibilità di potenza di calcolo da remoto senza necessità di dover cercare soluzioni di terze parti o modelli da scaricare. Tra l'altro, Google nel tempo si è affermato come uno dei principali attori della scena AI. Quindi sembra questo il posto ideale per trattare applicazioni di questo genere.

Se si crea un notebook, Firebase Studio imposta subito il suo primo progetto creando una piccola sequenza di trattamento delle immagini. Vengono forniti subito tre file jpg, a tema "forno e pasticceria", e con librerie e codice Python già impostati viene attivato subito il procedimento di descrizione delle ricette per i prodotti raffigurati.

Ricostruzione delle ricette in Firebase Studio

Figura 1. Ricostruzione delle ricette in Firebase Studio

L'esito che si può vedere in figura dimostra come sia stato messo al lavoro il modello gemini-2.5-flash che sfrutta per funzionare la chiave che viene richiesta nella prima cella.

Risultati dell'analisi con l'Intelligenza Artificiale

Figura 2. Risultati dell'analisi con l'Intelligenza Artificiale

L'ambiente di lavoro viene prodotto sempre con il formato NIX nel quale, per sommi capi, troviamo i seguenti passaggi:

  • definizione dell'ambiente: il file utilizza il package manager per configurare un ambiente di sviluppo indipendente di tipo IDX;
  • impostazione del runtime: viene installata la versione 3.11 di Python ed il corrispondente gestore di pacchetti pip;
  • predisposizione del notebook con configurazione dell'ambiente di lavoro con estensioni Jupyter, Gemini ed altro;
  • inizializzazione del virtual environment (venv) con l'installazione di tutto ciò che è previsto nel file requirements.txt che è stato anch'esso predisposto in automatico da Firebase Studio con il seguente contenuto:

# Dev environment
pip
autopep8
# App
google-genai # Client library for the Gemini API
Pillow # PIL image-loading library

in modo da fornire tutte le librerie di cui abbiamo bisogno per l'esperimento. Qui andremo, con l'evoluzione del progetto, ad aggiungere ciò che ci serve.

Modificare il notebook

Per prima cosa proviamo a saggiare la velocità di questo ambiente di lavoro con una modifica manuale. Firebase Studio ha predisposto l'esempio dedicando una cella di codice al prompt, elemento essenziale per formalizzare le richieste di elaborazione ai modelli:

prompt = 'Provide an example recipe for the baked goods in the image'

Proviamo a chiedergli una risposta in Italiano aggiungendo semplicemente in Italian alla fine del messaggio di prompt. Rieseguendo la cella di codice e tutte le seguenti (con i notebook è fondamentale sapere quali celle devono essere rieseguite) otteniamo infatti la nuova risposta di Gemini che potremmo definire di successo:

Risultati dell'analisi in Italiano

Figura 3. Risultati dell'analisi in Italiano

Questa modifica è stata compiuta da noi ma ora è fondamentale saggiare la capacità di supporto di Firebase Studio. Come ogni ambiente di questo IDE, vediamo che anche il notebook dispone, sulla destra, di una banda a scorrimento con la chat attiva con la A.I. di Google. Proviamo a chiedere un pò di supporto per vedere quanto è in grado di aiutarci.

Inseriamo il seguente prompt:

Genera del codice Python che crei, per ognuna delle immagini jpg inserite nel progetto, una miniatura in una cartella di nome img_thumbnails. I file delle miniature devono avere un nome del seguente formato: se l'immagine, ad esempio, si chiama baked_goods_1.jpg la miniatura generata dovrà chiamarsi baked_goods_thumb_1.jpg

Generazione del codice con Firebase Studio

Il codice viene prodotto molto velocemente e provvediamo noi a copiarlo in una nuova cella di codice.

import os
from PIL import Image
# Create the output directory if it doesn't exist
os.makedirs("img_thumbnails", exist_ok=True)
# List all jpg files in the current directory
for file in os.listdir("."):
    if file.endswith(".jpg"):
        # Open the image
        img = Image.open(file)
        # Create a thumbnail
        img.thumbnail((128, 128))
        # Construct the new filename
        base, ext = os.path.splitext(file)
        new_filename = f"{base.replace('_', '_thumb_')}{ext}"
        # Save the thumbnail
        img.save(os.path.join("img_thumbnails", new_filename))
print("Thumbnails created successfully in the 'img_thumbnails' directory.")

Il risultato appare effettivamente come abbiamo richiesto:

Nuova struttura del progetto con la cartella delle miniature

Figura 4. Nuova struttura del progetto con la cartella delle miniature

Ciò che stupisce dell'uso di un notebook in questo contesto è di sicuro la velocità di esecuzione delle istruzioni date alla AI nonchè la precisione nell'esecuzione della richiesta. Sicuramente, sarà il caso di testarlo molto di più per essere sicuri che sia in grado di portare a termine ogni richiesta. Di certo può però trattarsi di una buona opzione per lavorare con Intelligenza Artificiale e Data Science in genere.

Se vuoi aggiornamenti su Esempio di app con Gemini con Firebase Studio inserisci la tua email nel box qui sotto:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

Ti consigliamo anche