Yayınlanma tarihi: 13 Ocak 2024
Bu, LLM chatbot'ları hakkındaki üç bölümlük serinin sonuncusudur. Önceki makalelerde istemci tarafı LLM'lerin gücü ele alınmış ve yapılacaklar listesi uygulamasına WebLLM destekli bir chatbot ekleme konusunda size yol gösterilmişti.
Bazı yeni cihazlar, büyük dil modellerini ve diğer yapay zeka modellerini doğrudan cihazda bulundurur. Chrome, farklı geliştirme aşamalarındaki bir dizi API ile yerleşik yapay zeka API'lerini tarayıcıya entegre etmeyi önermiştir. Bu API'lerin çoğu, web sitelerinin maksimum çıkarım performansı elde etmek için aynı uygulamayı ve modeli kullanabilmesi amacıyla standartlar sürecinden geçiyor.
Prompt API, bu tür bir yapay zeka API'sidir. Geliştiricilerin bu özelliği kullanmak için erken önizleme programına kaydolmaları önerilir. Talep API'si kabul edildikten sonra tarayıcılarda nasıl etkinleştirileceğine dair talimatlar alırsınız. Prompt API, Chrome uzantıları için kaynak deneme sürümünde kullanılabilir. Bu sayede, bu API'yi gerçek uzantı kullanıcıları için test edebilirsiniz.
Paylaşılan model erişimi
İstem API'si, WebLLM'ye benzer şekilde çalışır. Ancak bu sefer model seçimi yoktur (tarayıcıyla birlikte gelen LLM'yi kullanmanız gerekir). Yerleşik Yapay Zeka etkinleştirildiğinde Chrome, Gemini Nano'yu tarayıcıya indirir. Bu model daha sonra birden fazla kaynakta paylaşılabilir ve maksimum performansla çalışır. Bir geliştiricinin model seçim özelliği ekleme isteğinde bulunduğu bir GitHub sorunu var.
İleti dizisini ayarlama
Mesaj görüşmesini tam olarak aynı şekilde başlatabilirsiniz ancak Prompt API, sistem istemini belirtmek için kısa söz dizimi de sunar. self.ai.languageModel
mülkünde create()
yöntemini kullanarak dil modeli oturumunu başlatın:
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)}`,
});
İlk sorunuzu yanıtlayın
İstem API'si, aktarımı yapılandırmak için bir yapılandırma nesnesi yerine iki ayrı yöntem sunar:
prompt()
dizenin tamamını döndürürpromptStreaming()
, eş zamansız bir yinelenebilir öğe döndürür. WebLLM'nin aksine Prompt API, tam dize yanıtıyla yanıt verir. Bu nedenle, sonuçları kendiniz birleştirmeniz gerekmez.
Model indirme işlemi daha önce başka bir kaynak tarafından tetiklenmediyse Gemini Nano tarayıcınıza indirilirken ilk isteğiniz çok uzun sürebilir. Model zaten mevcutsa çıkarım işlemi hemen başlar.
const stream = session.promptStreaming("How many open todos do I have?");
for await (const reply of stream) {
console.log(reply);
}
Demo
Özet
LLM'leri uygulamalara entegre etmek, kullanıcı deneyimini önemli ölçüde iyileştirebilir. Bulut hizmetleri, kullanıcının cihazından bağımsız olarak daha yüksek kaliteli modeller ve yüksek çıkarım performansı sunarken WebLLM ve Chrome'un Prompt API'si gibi cihaz üzerinde çözümler, bulut tabanlı alternatiflere kıyasla çevrimdışı olarak kullanılabilir, gizliliği iyileştirir ve maliyet tasarrufu sağlar. Bu yeni API'leri deneyerek web uygulamalarınızı daha akıllı hale getirin.