Pubblicato il 13 gennaio 2025
Questo è l'ultimo articolo di una serie di tre parti sui chatbot LLM. Gli articoli precedenti hanno discusso il potere degli LLM lato client e ti hanno guidato nell'aggiunta di un chatbot basato su WebLLM a un'applicazione di elenco di attività da svolgere.
Alcuni dispositivi più recenti vengono forniti con modelli linguistici di grandi dimensioni e altri modelli di AI direttamente sul dispositivo. Chrome ha proposto di integrare le API di AI integrate nel browser, con una serie di API in diverse fasi di sviluppo. Molte di queste API sono in fase di standardizzazione, in modo che i siti web possano utilizzare la stessa implementazione e lo stesso modello per ottenere le massime prestazioni di inferenza.
L'API Prompt è una di queste API di AI. Per utilizzarla, gli sviluppatori sono invitati a registrarsi al programma di anteprima iniziale. Una volta accettato, riceverai istruzioni su come attivare l'API Prompt nei browser. L'API Prompt è disponibile in una prova dell'origine per le estensioni di Chrome, quindi puoi testarla per gli utenti di estensioni reali.
Accesso al modello condiviso
L'API Prompt si comporta in modo simile a WebLLM. Tuttavia, questa volta non è possibile selezionare il modello (devi utilizzare l'LLM fornito con il browser). Quando attivi l'AI integrata, Chrome scarica un modello di base nel browser. Questo modello può essere condiviso tra più origini e viene eseguito con le massime prestazioni. Esiste un problema di GitHub in cui uno sviluppatore ha richiesto di aggiungere una funzionalità di selezione del modello.
Configurare la conversazione
Puoi avviare la conversazione di messaggi esattamente nello stesso modo, ma l'API Prompt offre anche una sintassi abbreviata per specificare il prompt di sistema. Avvia la sessione del modello linguistico utilizzando il metodo create() sull'interfaccia LanguageModel:
const session = await LanguageModel.create({
initialPrompt: [
{
type: 'system',
content: `You are a helpful assistant. You will answer questions related
to the user's to-do list. Decline all other requests not related to the
user's todos. This is the to-do list in JSON: ${JSON.stringify(todos)}`,
},
],
});
Rispondere alla prima domanda
Anziché avere un oggetto di configurazione per la configurazione dello streaming, l'API Prompt offre due metodi separati:
prompt()restituisce la stringa completapromptStreaming()restituisce un iterabile asincrono. A differenza di WebLLM, l'API Prompt risponde con la stringa di risposta completa, quindi non devi combinare i risultati manualmente.
Se nessun'altra origine ha attivato il download del modello in precedenza, la prima richiesta potrebbe richiedere molto tempo durante il download del modello nel browser. Se il modello è già disponibile, l'inferenza inizia immediatamente.
const stream = session.promptStreaming("How many open todos do I have?");
for await (const reply of stream) {
console.log(reply);
}

Demo
Riepilogo
L'integrazione degli LLM nelle applicazioni può migliorare notevolmente l'esperienza utente. Sebbene i servizi cloud offrano modelli di qualità superiore e prestazioni di inferenza elevate indipendentemente dal dispositivo dell'utente, le soluzioni on-device, come WebLLM e l'API Prompt di Chrome, sono in grado di funzionare offline, migliorano la privacy e consentono di risparmiare sui costi rispetto alle alternative basate sul cloud. Prova queste nuove API e rendi le tue applicazioni web più intelligenti.