Dipublikasikan: 13 Januari 2024
Ini adalah bagian terakhir dari seri tiga bagian tentang chatbot LLM. Artikel sebelumnya membahas kemampuan LLM sisi klien dan memandu Anda menambahkan chatbot yang didukung WebLLM ke aplikasi daftar tugas.
Beberapa perangkat yang lebih baru dilengkapi dengan model bahasa besar dan AI lainnya langsung di perangkat. Chrome telah mengusulkan integrasi API AI Bawaan ke dalam browser, dengan sejumlah API dalam berbagai tahap pengembangan. Banyak API ini yang sedang melalui proses standar, sehingga situs dapat menggunakan implementasi dan model yang sama untuk mencapai performa inferensi maksimum.
Prompt API adalah salah satu AI API tersebut. Untuk menggunakannya, developer sebaiknya mendaftar ke program pratinjau awal. Setelah diterima, Anda akan menerima petunjuk tentang cara mengaktifkan Prompt API di browser. Prompt API tersedia dalam uji coba origin untuk Ekstensi Chrome, sehingga Anda dapat menguji API ini untuk pengguna ekstensi yang sebenarnya.
Akses model bersama
Prompt API berperilaku mirip dengan WebLLM. Namun, tidak ada pemilihan model kali ini (Anda harus menggunakan LLM yang disertakan dengan browser). Saat mengaktifkan AI Bawaan, Chrome akan mendownload Gemini Nano ke dalam browser. Model ini kemudian dapat dibagikan di beberapa origin dan berjalan dengan performa maksimum. Ada masalah GitHub saat developer meminta untuk menambahkan fitur pemilihan model.
Menyiapkan percakapan
Anda dapat memulai percakapan pesan dengan cara yang sama persis, tetapi Prompt API juga menawarkan sintaksis singkat untuk menentukan perintah sistem. Mulai sesi model bahasa menggunakan metode create()
pada properti
self.ai.languageModel
:
const session = await self.ai.languageModel.create({
systemPrompt: `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)}`,
});
Menjawab pertanyaan pertama Anda
Alih-alih memiliki objek konfigurasi untuk mengonfigurasi streaming, Prompt API menawarkan dua metode terpisah:
prompt()
menampilkan string lengkappromptStreaming()
menampilkan iterable asinkron. Berbeda dengan WebLLM, Prompt API merespons dengan respons string lengkap, sehingga Anda tidak perlu menggabungkan hasilnya sendiri.
Jika tidak ada origin lain yang telah memicu download model sebelumnya, permintaan pertama Anda mungkin memerlukan waktu yang sangat lama saat Gemini Nano didownload ke browser Anda. Jika model sudah tersedia, inferensi akan segera dimulai.
const stream = session.promptStreaming("How many open todos do I have?");
for await (const reply of stream) {
console.log(reply);
}
Demo
Ringkasan
Mengintegrasikan LLM ke dalam aplikasi dapat meningkatkan pengalaman pengguna secara signifikan. Meskipun layanan cloud menawarkan model berkualitas lebih tinggi dan performa inferensi yang tinggi, terlepas dari perangkat pengguna, solusi di perangkat, seperti WebLLM dan Prompt API Chrome, dapat digunakan secara offline, meningkatkan privasi, dan menghemat biaya dibandingkan dengan alternatif berbasis cloud. Coba API baru ini dan buat aplikasi web Anda lebih cerdas.