Yerleşik yapay zekayı kullanmaya başlayın

Alexandra Klepper
Alexandra Klepper

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 standartlaştırmak için çalışıyoruz.

Şartlar

Yerleşik yapay zekayı kullanmak için model ve donanım gereksinimleri vardır.

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. İstem API'sinde çok formatlı özellikler bulunur.

Chrome'da Gemini Nano

Chrome, Gemini Nano dil modellerini kullanır. Gemini Nano, mobil cihazlarda kullanılamaz.

Chrome 149'dan itibaren Gemini Nano, giriş ve çıkış metinleri için İngilizce, İspanyolca, Japonca, Almanca ve Fransızca dillerini destekler.

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). Android, iOS ve Chromebook Plus olmayan cihazlarda ChromeOS için Gemini Nano'yu kullanan API'ler henüz desteklenmemektedir.
  • Depolama: Chrome profilinizi içeren birimde en az 22 GB boş alan.
  • 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şi içeren Prompt API için GPU gerekir.
  • : Sınırsız veri veya ölçülmemiş 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.

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şime girdiğinde 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şlevini çağırmak 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'nin dil desteğinin bildirilmesi gerekir:

// Makes sure the model is available for English and Japanese.
await LanguageModel.availability({ languages: ["en", "ja"] });

Kullanıcı etkinleştirme

Cihaz, yerleşik yapay zeka API'lerini destekleyebiliyorsa ancak model henüz indirilmediyse uygulamanızın create() ile oturum başlatması için kullanıcının sayfanızla anlamlı bir şekilde etkileşimde bulunması gerekir.

Bir kullanıcının sayfa yüklendikten sonra doğrudan sayfayla etkileşimde bulunduğunu onaylamak için UserActivation.isActive özelliğini kullanın. Buna dokunma, tıklama, tuşa basma, mousedown veya diğer sabit etkinleştirme etkinlikleri dahil olabilir.

// 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 özetleyiciyi oluşturabilirsiniz (keydown etkinliği).

localhost'ta API kullanma

API'lerin tümü Chrome'da localhost üzerinden kullanılabilir.

  1. Şuraya git: chrome://flags/#optimization-guide-on-device-model.
  2. Etkin'i seçin.
  3. Yeniden başlat'ı tıklayın veya Chrome'u yeniden başlatın.

Gemini Nano'yu kullanan API'ler için chrome://flags/#prompt-api-for-gemini-nano değerini Etkin veya Çok dilli etkin olarak da ayarlamanız gerekir. Modelin indirildiğini ve beklendiği gibi çalıştığını Geliştirici Araçları Konsolu'nda doğrulayabilirsiniz. Konsolda await LanguageModel.availability(); komutunu çalıştırın.

localhost ile ilgili sorunları giderme

chrome://flags simgesinde işaretler görünmüyorsa Chrome'un en son sürümünü indirdiğinizden emin olun.

Model beklendiği gibi çalışmıyorsa aşağıdaki adımları uygulayın:

  1. Chrome'u yeniden başlatın.
  2. Şuraya git: chrome://on-device-internals.
  3. Model Durumu sekmesini seçin ve hata olmadığından emin olun.
  4. Geliştirici Araçları'nı açın ve konsola LanguageModel.availability(); yazın. Bu işlem available değerini döndürmelidir.

Gerekirse biraz bekleyip bu adımları tekrarlayın.

Standartlar süreci

Tüm tarayıcılarda çalışabilmeleri için bu API'leri standartlaştırmak üzere ç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şmanızı rica ederiz.