Chrome Prompt API
(developer.chrome.com)- Chrome'a yerleşik Gemini Nano modeline doğal dil istekleri gönderen, tarayıcıya yerel bir API; sunucuya gidip gelmeden cihaz üzerinde yapay zeka çıkarımı gerçekleştirir
- Yapay zeka tabanlı arama, haber sınıflandırmasıyla kişiselleştirilmiş akış, içerik filtreleme, takvim etkinliği oluşturma, kişi bilgisi çıkarma gibi çeşitli kullanım alanları sunar
prompt()ile tek seferlik yanıt ya dapromptStreaming()ileReadableStreamtabanlı akış yanıtı seçilebilir- Oturum tabanlı bağlam yönetimi, akış yanıtı, oturum klonlama gibi ayrıntılı oturum kontrol özellikleri sağlar
- Sunucuya gidip gelmeden tarayıcı içinde yapay zeka çıkarımı yapıldığı için gizlilik koruması ve düşük gecikme açısından avantajlıdır
- Metnin yanı sıra görüntü ve ses girdisini destekleyen yerleşik çok modlu özellikler içerir
- Ses:
AudioBuffer,ArrayBuffer,Blobvb. - Görüntü:
HTMLImageElement,HTMLCanvasElement,VideoFrame,Blobvb.
- Ses:
responseConstraintalanına JSON şeması verilerek model çıktısınınbooleanya da belirli bir JSON yapısı gibi biçimlerle sınırlandırılması mümkündürinitialPromptsile sistem prompt'u ve önceki konuşma bağlamı enjekte edilebilir;append()ile oturum oluşturulduktan sonra da ek bağlam önceden gönderilebilir- Sonraki
assistantmesajınaprefix: trueeklenirse modelin belirli bir formatta yanıt vermeye başlaması yönlendirilebilir - Oturum bazında bağlam penceresi yönetimi desteklenir:
contextUsage/contextWindowile token kullanımı görülebilir, taşma durumunda ilk konuşmalar otomatik silinir (sistem prompt'u korunur) clone()ile oturum çatallanabilir,destroy()ile kaynaklar serbest bırakılabilir,AbortSignalile oturum ve prompt yarıda iptal edilebilirexpectedInputs/expectedOutputsile giriş/çıkış formatı ve dil ayarlanabilir (şu andaen,ja,esdesteklenir)- Donanım gereksinimleri: Windows 10+/macOS 13+/Linux/ChromeOS, en az 22 GB depolama, 4 GB'tan fazla GPU VRAM'i veya en az 16 GB CPU RAM + 4 ya da daha fazla çekirdek
- Farklı origin'den iframe'lere
allow="language-model"özelliğiyle erişim devredilebilir, web worker'larda ise şu anda desteklenmez - Chrome 138'den itibaren origin trial kapsamında sunuluyor
1 yorum
Hacker News görüşleri
Bu API, uzun zamandır düşündüğüm de-snarkifier fikrine tam uyuyor gibi görünüyor
Sosyal medya entelektüel olarak uyarıcı ve öğretici olabiliyor, ama istemeseniz de ideolojik atışmalar ve alevli tartışmaların içine çekilmek çok kolay. İnternette tanımadığınız insanlarla duygusal enerji tüketerek kavga etmek, insan sermayesinin israfına yakın
Böyle bir API olursa, bir tarayıcı eklentisi yazıları göstermeden önce sadece saldırgan ya da iğneleyici ifadeleri yumuşatıp olgusal bilgiyi aynen koruyabilir gibi duruyor. Hatta daha da ileri gidip, ton ne kadar saldırgansa o kadar gülünç ya da beceriksiz duyulacak şekilde dönüştürülebilir
Böylece okuyan kişi yabancıların kişisel saldırılarından korunur, yazan kişinin de kaba davranmak için teşviki ortadan kalkar. Herkes böyle filtreler kullanırsa kimin daha kötü davranacağına dair bir rekabet nedeni de kalmaz
Besin değeri var ama tadı pek özel değil gibi
Benim istediğim şey, tüm clickbait başlıkları ve reklamları kaldırıp sadece kuru, olgusal başlıkları göstermek
Hangi konuda olursa olsun bir tane temel haber ve birkaç anlamlı yorum bana yeter; gerisi çoğunlukla görmek istemediğim gürültü
Sosyal medyanın şu anki hali o kadar kötü ki neredeyse hiç kullanmıyorum; tek istisna HN'ydi ama burası da yapay zeka doygunluğuyla benzer bir yöne gidiyor gibi. Yine de iki haftada bir birkaç saatimi harcıyorum, onu da tamamen bırakmak istiyorum
İdeal olarak içeriğin %98'i filtrelenip ya da özetlenip ortadan kalkmalı ve zamanla interneti sadece kasıtlı olarak bir şey ararken kullanır hale gelmeliyim. Temelde internetin eğlence tarafının büyük kısmını kaldırıp zaman ve enerjiyi gerçek hayata ve kitap gibi yüksek kaliteli kaynaklara yönlendirmek istiyorum
Bu eklenti, kışkırtıcılığı azaltmaya çalışan bir crowdsourcing aracı; en üst katkıcıların bazılarının LLM botları olabileceğini düşünüyorum
Yine de böyle şeyler gerçekle karşılaşınca öngörülemez oluyor; iyi çalışsa bile ilk hayal edildiğinden epey farklı işlemesi olası
Kendimi tutamayıp Snarknada adlı bir prototipi hızlıca yaptım; hem düşük gecikme kalıplarına hem de doğruluk ihtimaline baktım
Böyle kullanım senaryolarında neden cihaz üstü yaklaşımın doğru olduğunu düşünmemin nedeni tam da bu. Sonsuz kaydırmalı bir akışın tamamını bir bulut API'siyle yumuşatmaya kalkarsanız, token maliyeti geliştirici açısından taşınamaz hale gelir. Üstelik insanlar kişisel akışlarını ya da DM'lerini ton düzeltmesi için üçüncü taraf bir sunucuya göndermek istememekte de haklı
Bunu cihazın içine taşırsanız, yüksek frekanslı Semantic Mutation ilk kez hem maliyet hem teknik açıdan gerçekçi olabilir. Benim oyuncak gibi PM prototipimden daha ciddi bir şey geliştirip somut sürtünme noktalarına gelirseniz, bunu duymayı gerçekten isterim. Yol haritası önceliklerini belirlemeye yardımcı olur
[1]: Kodlama ajanları (Cursor, Claude Code vb.) kullanıyorsanız https://www.npmjs.com/package/built-in-ai-skills-md-agent-md bağlantısını vermenizi öneririm. Birçok model artık eski kalmış window.ai namespace'iyle eğitildiği için bu skill dosyası güncel API'yi doğru kullanmalarına yardımcı oluyor
Bu API tasarım çalışmasına liderlik ettim ve emekli olmadan önce ilgili tasarım değerlendirmelerini toparlayan bir yazı da yazdım
https://domenic.me/builtin-ai-api-design/
Ayrıca böyle bir şeyi geliştirirken tarayıcıların W3C düzeyinde değilse bile pratikte birbirleriyle koordinasyon kurup ortak noktaları hizalamaya çalışıp çalışmadığını da merak ediyorum. Sonuçta bu sektör oldukça küçük
Bu gerçekten çalışıyor ve ben bunu local inference amacıyla şimdiden yayımladım
Arama gibi düşük yoğunluklu LLM işlerinde, yoksul işi bir ollama gibi kullanabildim. En büyük avantajı ücretsiz olması, mahremiyeti koruması ve kullanıcının neredeyse hiçbir şey yapmasına gerek bırakmaması; bu da teknik olmayan kullanıcılara yerel çıkarım sunmak için iyi
Ama gerçek kullanıcı deneyimi iyi değil. Model indirme boyutu tarayıcının kendisinden birkaç mertebe daha büyük ve ilk token gelmeden önce bunun tamamlanması gerekiyor
İşletim sistemleri güvenilir biçimde önceden yerleştirilmiş modeller sunup bu tür API'lerin onlara bağlanabilmesini sağlayana kadar bunun çözülmesi zor görünüyor
Daha büyük sorun, çoğu sıradan PC'de modelin fazla küçük ve yavaş olması. infocom text adventure tarzı cümleleri gerçek zamanlı dönüştürmeyi denedim ama şu anda birçok PC'de fazla yavaş olduğu için pratik değil
Bu, bittorrent'in birden çok ana bilgisayardan dosya parçaları almasına benziyor. Ortak katmanların yine indirilmesi gerekir ama ilk token'a kadar geçen süre toplam boyuttan çok etkin boyutla orantılı hale getirilebilir
Elbette bu durumda tam anlamıyla çevrimdışı çıkarım olmazdı ama tarayıcı tabanlı web özelliği için bu temel bir mesele olmayabilir
Ama model tarayıcıdan çok daha büyükse ve ilk token'dan önce indirilmesi gerekiyorsa, bunun gecikmeli indirme anlamına gelip gelmediğini merak ediyorum. İlk kez çağıran kullanıcı o anda indirme tamamlanana kadar beklemek zorundaysa, kullanıcı deneyimi oldukça korkunç görünüyor
Chrome'un kafa karışıklığını azaltmak için indirme durumu diyaloğu gibi bir şey gösterip göstermediğini ve disk kullanımının ne kadar olduğunu da merak ediyorum
Yüzeyde bu, Gemini Nano kullanıyor gibi görünüyor ama son Gemma 4 E2B/E4B çok daha iyi göründüğü için şimdilik kuantize sürümleri bir eklenti olarak dağıtmak daha iyi olabilir
Kaynaklar:
Gemma 4 ya da ona karşılık gelen Gemini Nano henüz Chrome'da yoksa yakında geleceğini tahmin ederim
Ayrıca bu yazı en son 2025-09-21 tarihinde güncellenmiş ve o noktada zaten Gemini Nano 3 varmış
Prompt API'nin, tarayıcının içindeki Gemini Nano'ya doğal dil isteği göndermenin bir yolu olduğu yazıyor
Edge'de muhtemelen Phi4 olurdu
Bu, kötü niyetli JS script'lerinin hiçbir şeyden haberi olmayan ziyaretçilere token üretimini yıkması için iyi bir yol gibi de görünüyor
Daha büyük istemleri küçük parçalara bölüp birçok tarayıcıya göndererek, her birinin küçük bir kısmı işlediği subagent deseni ya da RLM benzeri bir yapıyla işe yarar sonuçlar üreten bir dağıtımın mümkün olup olmayacağını görmek de ilginç olurdu
Teknik ve ticari altyapı da aşırı karmaşık hale gelir; kullanıcı tarayıcılarına istem yüklemek istiyorsanız, sadece Chrome API'sini düzgün kullanmak daha mantıklı değil mi? Böyle düşük kapasiteli modellerde sunucu tarafı istemlerini dışarı yüklemenin gerçekten anlamlı olacağı durumların ne kadar yaygın olduğu da şüpheli
Kaldı ki bunu gerçekten yapmak istiyorsanız WebGPU zaten uzun zamandır vardı
Bu, düzgün bir Model API'ye doğru atılmış bir adım gibi görünüyor ama hâlâ küçük bir adım
Apple'ın Foundation Models yaklaşımını da düşündürüyor
Birçok yapay zeka entegrasyonu metin iletişimi ya da sohbet tarzına odaklanıyor ama gerçekte metin dışı arayüzlerden fayda gören çok yazılım var
Sonunda işletim sistemi ve tarayıcı, uygulamaların basit bir arayüzle cihaz üstü ve uzak modellere erişebilmesini sağlayan model yönetim API'leri sunmalı diye düşünüyorum
Bunun platformlar arası standartlaşması harika olurdu ve mobil de buna dahil olmalı; bu yüzden bunu fiilen ileri itebilecek taraflar büyük ölçüde Apple ve Google gibi görünüyor. Meta arkadan gelebilir ya da tersine ilk hareket eden o olabilir
Kilit nokta, bunun belirli bir tanıtım modeline özel olmaması
Uygulamalar sorgulayıp uygun modeli seçebilmelidir
(1) https://developer.apple.com/documentation/foundationmodels
Tabii hâlâ erken aşamada
https://github.com/mozilla/standards-positions/issues/1067
Biz bunu hackday retrospektif özetleri için kullanıyoruz
https://remotehack.space/previous-hacks/
RSS akışını okuyup gövde metninden özet üreten küçük bir betik ve statik siteyle oldukça iyi çalışıyor. Bir gün bunu aynı içerik üzerinde farklı sorular da soracak şekilde genişletmek istiyorum
Tarayıcıdan erişilebilen yerel LLM mahremiyet açısından iyi ama her tarayıcı bu API'nin arkasına farklı bir model koyarsa test cehennemi bugünkünden de kötü olabilir
Sonunda çoğu uygulamanın Gemini Nano etrafında hizalanma ihtimali var; bu da kullanıcıları daha fazla Chrome tarafına iter mi diye merak ediyorum
Gerçekte istemler modelden bağımsız değil; Gemini Nano 3 v2025 için özenle ayarlanmış bir istem, Gecko tarafındaki modelde sessizce daha kötü sonuç verebilir. Ama API, dallanma yapmaya yarayacak bir yetenek tespiti bile sunmuyor
Bu, en azından desteklenen uzantıların sorgulanabildiği WebGL'den bile daha kötü. Adı ve sürümü tarayıcının arkasında gizlenen bir modelin istem kalitesine bağlı özellikler yayımlamak, kullanıcının kurduğu sözlüğe göre davranışı değişen yazılım yayımlamaya benziyor
Gemini Nano'nun, Gemma'nın aksine açık ağırlıklı olmadığını sanıyorum
Bunu biri zaten yaptıysa ayrı, ama model ağırlıklarını dump etmek isterdim