Pubblicata: 20 maggio 2025
L'API Prompt integrata è disponibile per le estensioni di Chrome su Windows, macOS e Linux a partire dalla versione stabile 138 di Chrome. L'API sarà disponibile a breve in una prova dell'origine in Chrome.
L'API non è supportata da altri browser, ChromeOS o sistemi operativi mobile (come Android o iOS). Anche se il browser supporta questa API, l'esecuzione potrebbe non essere disponibile a causa di requisiti hardware non soddisfatti.
Per soddisfare le esigenze degli utenti, indipendentemente dalla piattaforma o dall'hardware che utilizzano, puoi configurare un piano di riserva sul cloud con Firebase AI Logic.
Creare un'esperienza di IA ibrida
L'IA integrata offre una serie di vantaggi, tra cui:
- Elaborazione locale di dati sensibili: se utilizzi dati sensibili, puoi offrire funzionalità di IA agli utenti con crittografia end-to-end.
- Utilizzo dell'AI offline:gli utenti possono accedere alle funzionalità di IA anche quando sono offline o la connettività è scaduta
Sebbene questi vantaggi non si applichino alle applicazioni cloud, puoi garantire un'esperienza senza interruzioni a chi non può accedere all'AI integrata.
Inizia a utilizzare Firebase
Innanzitutto, crea un progetto Firebase e registra la tua app web. Prosegui la configurazione dell'SDK JavaScript di Firebase con la documentazione di Firebase.
Installa l'SDK
Questo flusso di lavoro utilizza npm e richiede strumenti di bundling dei moduli o del framework JavaScript. La logica di Firebase AI è ottimizzata per funzionare con i bundler dei moduli al fine di eliminare il codice inutilizzato (tree-shaking) e ridurre le dimensioni dell'SDK.
npm install firebase@eap-ai-hybridinference
Utilizzare Firebase AI Logic
Una volta installato Firebase, devi inizializzare l'SDK per iniziare a utilizzare i servizi Firebase.
Configura e inizializza l'app Firebase
Un progetto Firebase può avere più app Firebase. Un'app Firebase è un oggetto simile a un contenitore che memorizza la configurazione comune e condivide l'autenticazione tra i servizi Firebase.
La tua app Firebase funge da parte cloud della funzionalità di IA ibrida.
import { initializeApp } from 'firebase/app';
import { getAI, getGenerativeModel } from 'firebase/vertexai';
// TODO: Replace the following with your app's Firebase project configuration.
const firebaseConfig = {
apiKey: '',
authDomain: '',
projectId: '',
storageBucket: '',
messagingSenderId: '',
appId: '',
};
// Initialize `FirebaseApp`.
const firebaseApp = initializeApp(firebaseConfig);
Chiedi al modello
Una volta inizializzato, puoi chiedere al modello di fornire un input di testo o multimodale.
Prompt di testo
Puoi utilizzare il testo normale per le istruzioni al modello. Ad esempio, potresti chiedere al modello di raccontarti una barzelletta.
Per assicurarti che l'IA integrata venga utilizzata, se disponibile, nella funzione getGenerativeModel
, imposta mode
su prefer_on_device
.
// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });
const prompt = 'Tell me a joke';
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log('Complete response', await result.response);
Prompt multimodali
Oltre al testo, puoi anche usare immagini o audio. Potresti chiedere al modello di descrivere i contenuti di un'immagine o trascrivere un file audio.
Le immagini devono essere passate come stringa con codifica base64 come oggetto FileDataPart
Firebase, che puoi fare con la funzione di assistenza fileToGenerativePart()
.
// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector('input[type=file]');
fileInputEl.addEventListener('change', async () => {
const prompt = 'Describe the contents of this image.';
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// To generate text output, call generateContent with the text and image
const result = await model.generateContentStream([prompt, imagePart]);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log(Complete response: ', await result.response);
});
Demo
Visita la demo di Firebase AI Logic su diversi dispositivi e browser. Puoi vedere come la risposta del modello proviene dal modello di IA integrato o dal cloud.
Quando è installata su hardware supportato in Chrome, la demo utilizza l'API Prompt e Gemini Nano. Vengono effettuate solo tre richieste per il documento principale, il file JavaScript e il file CSS.
Quando utilizzi un altro browser o un sistema operativo senza supporto dell'AI integrato, viene inviata un'altra richiesta all'endpoint Firebase, https://firebasevertexai.googleapis.com
.
Partecipare e condividere feedback
Firebase AI Logic può essere un'ottima soluzione per integrare le funzionalità di IA nelle tue app web. Fornendo un piano di riserva per il cloud quando l'API Prompt non è disponibile, l'SDK garantisce un'accessibilità e un'affidabilità più ampie delle funzionalità di IA.
Ricorda che le applicazioni cloud creano nuove aspettative in termini di privacy e funzionalità, pertanto è importante informare gli utenti su dove vengono elaborati i loro dati.
- Per inviare feedback sull'implementazione di Chrome, invia una segnalazione di bug o una richiesta di funzionalità.
- Per inviare un feedback su Firebase AI Logic, invia una segnalazione di bug.