Yayınlanma tarihi: 12 Aralık 2024, Son güncelleme tarihi: 20 Mayıs 2025
Yerleşik yapay zeka API'leri sayesinde web uygulamanız, kendi yapay zeka modellerini dağıtmasına veya yönetmesine gerek kalmadan yapay zeka destekli görevler gerçekleştirebilir. Bu API'leri tarayıcılarda standart hale getirmek için çalışıyoruz.
Yerleşik yapay zekayı kullanmak için model ve donanım şartları vardır.
Gerekli modeller
Translator ve Language Detector API'leri uzman modelleri kullanır. Diğer tüm API'ler, masaüstü ve dizüstü bilgisayarlarda yerel olarak çalışacak şekilde tasarlanmış bir dil modeli kullanır.
Summarizer API, Writer API, Rewriter API ve Proofreader API yalnızca metinden metne biçimini destekler. Prompt API'de çok formatlı özellikler bulunur.
Chrome modelleri
Chrome, uzman ve temel dil modellerini kullanır. Bu modeller mobil cihazlarda kullanılamaz.
Chrome 149'dan itibaren modeller, giriş ve çıkış metinleri için İngilizce, İspanyolca, Japonca, Almanca ve Fransızca dillerini desteklemektedir.
Gerekli donanım
Geliştiriciler ve Chrome'da bu API'leri kullanarak özellikleri çalıştıran kullanıcılar için aşağıdaki şartlar geçerlidir. Diğer tarayıcıların farklı işletim gereksinimleri olabilir.
Dil Algılayıcı ve Çeviri API'leri, masaüstü Chrome'da çalışır. Bu API'ler mobil cihazlarda çalışmaz.
Prompt API, Summarizer API, Writer API, Rewriter API ve Proofreader API, aşağıdaki koşullar karşılandığında Chrome'da çalışır:
- İşletim sistemi: Windows 10 veya 11; macOS 13 ya da sonraki sürümler (Ventura ve sonrası); Linux; veya Chromebook Plus cihazlarda ChromeOS (Platform 16389.0.0 ve sonraki sürümler). Temel modelleri kullanan API'ler, Android, iOS ve Chromebook Plus olmayan cihazlarda ChromeOS için Chrome'u henüz desteklemiyor.
- Depolama: Chrome profilinizi içeren birimde en az 22 GB boş alan olmalıdır.
- GPU veya CPU: Yerleşik modeller GPU veya CPU ile çalışabilir.
- GPU: Kesinlikle 4 GB'tan fazla VRAM.
- CPU: 16 GB veya daha fazla RAM ve 4 veya daha fazla CPU çekirdeği.
- Not: Ses girişli Prompt API için GPU gerekir.
- Ağ: Sınırsız veri veya sınırsız bağlantı.
Tarayıcı modeli güncellediğinde Gemini Nano'nun tam boyutu değişebilir. Mevcut boyutu belirlemek için chrome://on-device-internals adresini ziyaret edin.
Derlemeye başlayın
Geliştirmenin farklı aşamalarında çeşitli yerleşik yapay zeka API'leri kullanılabilir. Bazıları Chrome'un kararlı sürümünde, bazıları ise kaynak denemelerine katılanlar tarafından kullanılabilir. Diğerleri ise yalnızca Önizleme Programı katılımcıları tarafından kullanılabilir.
Her API'nin, modeli kullanmaya başlamak ve indirmek için kendi talimatları vardır. Bu talimatlar hem yerel prototip oluşturma hem de kaynak denemeleriyle üretim ortamları için geçerlidir.
- Translator API
- Language Detector API
- Summarizer API
- Writer API ve Rewriter API
- Proofreader API
- Prompt API
Bu API'lerin tümü Chrome uzantıları oluşturulurken kullanılabilir.
Model indirme
API'ler ve modeller Chrome'da yerleşik olarak bulunur. Kullanıcı bu API'lerle ilk kez etkileşimde bulunduğunda modelin tarayıcıya indirilmesi gerekir.
Bir API'nin kullanılabilir ve hazır olup olmadığını belirlemek için, aşağıdaki değerlerden birini içeren bir promise döndüren eşzamansız availability() işlevini çağırın:
"unavailable": Kullanıcının cihazı veya istenen oturum seçenekleri desteklenmiyor. Cihazda yeterli güç veya disk alanı olmayabilir."downloadable": Oturum oluşturmak için ek indirmeler gerekir. Bu indirmeler arasında uzman modeli, dil modeli veya ince ayar yer alabilir.create()işlevinin çağrılması için kullanıcı etkinleştirme gerekebilir."downloading": İndirme işlemi devam ediyor ve oturumu kullanabilmeniz için tamamlanması gerekiyor."available": Oturumu hemen oluşturabilirsiniz.
Bazı API'ler, stok durumu çağrısı yapılırken ek seçenekler gerektirir. Örneğin, Prompt API'de dil desteğinin beyan edilmesi gerekir:
// Makes sure the model is available for English and Japanese input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
expectedOutputs: [{type: "text", languages: ["en"]}],
});
Kullanıcı etkinleştirme
Cihaz, yerleşik yapay zeka API'lerini destekleyebiliyorsa ancak model henüz indirilmediyse (yani availability() çağrıldığında "downloadable" veya "downloading" döndürülüyorsa) uygulamanızın create() ile oturum başlatması için kullanıcının sayfanızla anlamlı bir şekilde etkileşimde bulunması gerekir.
Kullanıcının sayfa yüklendikten sonra doğrudan sayfayla etkileşimde bulunduğunu onaylamak için UserActivation.isActive özelliğini kullanın. Bu, dokunma, tıklama, tuşa basma, mousedown veya diğer sabit etkinleştirme etkinliklerini içerebilir.
// Check for user activation.
if (navigator.userActivation.isActive) {
// Create an instance of a built-in API
}
Örneğin, Summarizer API ile Summarizer.create() özelliğini etkinleştirmek için kullanıcılardan "Özetle" yazan bir düğmeyle etkileşim kurmalarını isteyebilir veya kullanıcı yazmaya başladıktan sonra (keydown etkinliği) özetleyiciyi oluşturabilirsiniz.
Yerel ana makineyle ilgili sorunları giderme
Model beklendiği gibi çalışmıyorsa aşağıdaki adımları uygulayın:
- Chrome'u yeniden başlatın.
- Şuraya git:
chrome://on-device-internals. - Aracı Durumu sekmesini seçin ve hata olmadığından emin olun.
- Geliştirici Araçları'nı açın ve konsola
LanguageModel.availability();yazın. Bu işlemavailabledeğerini döndürmelidir.
Gerekirse bir süre bekleyip bu adımları tekrarlayın.
Standartlar süreci
Bu API'leri tüm tarayıcılarda çalışacak şekilde standartlaştırmak için çalışıyoruz. Bu, API'leri web platformları topluluğuna önerdiğimiz ve daha fazla tartışmak için W3C Web Incubator Community Group'a taşıdığımız anlamına gelir.
Her API için W3C, Mozilla ve WebKit'ten geri bildirim istiyoruz.
Etkileşim kurma ve geri bildirim paylaşma
Yerleşik yapay zekayı denerseniz geri bildiriminizi bizimle paylaşabilirsiniz.
- Yerleşik yapay zeka API'lerinin tümünü keşfedin.
- Yeni API'lere erken erişim ve posta listemize katılmak için Erken Önizleme Programı'na katılın.
- Chrome'un uygulamasıyla ilgili geri bildiriminiz varsa Chromium hatası bildirin.
- Web standartları hakkında bilgi edinin.