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ğıtmaya veya yönetmeye gerek kalmadan yapay zeka destekli görevleri gerçekleştirebilir. Bu API'leri tarayıcılar arasında standartlaştırmak için çalışıyoruz.
Gerekli modeller
Translator ve Language Detector API'leri uzman modeller 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 metin üretimi yöntemini destekler. Prompt API, çok formatlı özelliklere sahiptir.
Chrome modelleri
Chrome, uzman ve temel dil modellerini kullanır. Bu modeller mobil cihazlarda kullanılamaz.
Chrome 149'dan itibaren modeller, giriş ve çıkış metni için İngilizce, İspanyolca, Japonca, Almanca ve Fransızcayı destekler.
Gerekli donanım
Chrome'da bu API'leri kullanarak özellikleri çalıştıran geliştiriciler ve 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 ve sonraki sürümler (Ventura ve sonraki sürümler); Linux; veya Chromebook Plus cihazlarda ChromeOS (Platform 16389.0.0 ve sonraki sürümler). Android, iOS ve Chromebook Plus olmayan cihazlarda ChromeOS için Chrome, temel modelleri kullanan API'ler tarafından henüz desteklenmemektedir.
- Depolama alanı: 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ıştırılabilir.
- 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 kullanabileceğiniz çeşitli yerleşik yapay zeka API'leri vardır. 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, hem yerel prototip oluşturma hem de kaynak denemeleriyle üretim ortamlarında modeli kullanmaya başlama ve indirme konusunda kendi talimatları vardır.
- Translator API
- Language Detector API
- Summarizer API
- Writer API ve Rewriter API
- Proofreader API
- Prompt API
Chrome uzantıları oluştururken bu API'lerin tümü 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. Cihazın gücü veya disk alanı yetersiz olabilir."downloadable": Oturum oluşturmak için ek indirmeler gerekiyor. Bu indirmeler arasında uzman model, dil modeli veya ince ayar olabilir.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": Hemen oturum 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 destekleyebiliyor ancak model henüz indirilmemişse (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şim kurması gerekir.
Kullanıcının, sayfa yüklendikten sonra sayfayla doğrudan etkileşim kurduğunu doğrulamak için UserActivation.isActive özelliğini kullanın. Bu etkileşimler arasında dokunma, tıklama, tuşa basma, mousedown veya diğer yapışkan etkinleştirme etkinlikleri yer alabilir.
// 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. - Broker State (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 komutavailabledeğ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ı denediyseniz geri bildirimlerinizi 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 hata kaydı oluşturun.
- Web standartları hakkında bilgi edinin.