Yerleşik yapay zeka ile özetleme

Yayınlanma tarihi: 11 Kasım 2024, Son güncelleme tarihi: 20 Mayıs 2025

Açıklayıcı Web Uzantılar Chrome Durumu Amaç
MDN Chrome 138 Chrome 138 Görünüm Kargoya verme amacı

Kullanıcılarınıza uzun makaleleri, karmaşık belgeleri ve hatta canlı sohbet görüşmelerini kısa ve bilgilendirici özetlere dönüştürme olanağı sunabilirsiniz.

Özetleyici API, farklı uzunluk ve biçimlerde (ör. cümleler, paragraflar, madde işaretli listeler) çeşitli özetler oluşturmak için kullanılabilir. Bu API'nin aşağıdaki senaryolarda faydalı olduğunu düşünüyoruz:

  • Bir makalenin veya sohbet görüşmesinin temel noktalarını özetleme
  • Makaleler için başlıklar ve başlıklar önerme
  • Uzun bir metnin kısa ve bilgilendirici bir özetini oluşturma
  • Kitap incelemesine dayalı olarak kitap için tanıtım metni oluşturma.

Başlayın

Özetleyici API'si Chrome 138 kararlı sürümünden itibaren kullanılabilir.

Bu API'yi kullanmadan önce Google'ın Üretken Yapay Zeka Yasaklanan Kullanım Politikası'nı kabul edin.

Tarayıcının Özetleyici API'sini destekleyip desteklemediğini görmek için özellik algılama işlemini çalıştırın.

if ('Summarizer' in self) {
  // The Summarizer API is supported.
}

Donanım gereksinimlerini inceleyin

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ündeki Chrome'da çalışır. Bu API'ler mobil cihazlarda çalışmaz. Prompt API, Summarizer API, Writer API ve Rewriter API, aşağıdaki koşullar karşılandığında Chrome'da çalışır:

  • İşletim sistemi: Windows 10 veya 11; macOS 13 veya üzeri (Ventura ve sonraki sürümler) ya da Linux. Android, iOS ve ChromeOS için Chrome, Gemini Nano'yu kullanan API'ler tarafından henüz desteklenmemektedir.
  • Depolama alanı: Chrome profilinizi içeren birimde en az 22 GB.
  • GPU: Kesinlikle 4 GB'tan fazla VRAM.
  • : Sınırsız veri veya ölçülmeyen bağlantı.

Gemini Nano'nun tam boyutu biraz farklılık gösterebilir. Mevcut boyutu öğrenmek için chrome://on-device-internals adresini ziyaret edip Model durumu'na gidin. Model boyutunu belirlemek için listelenen Dosya yolunu açın.

Model indirme

Özetleyici API, yüksek kaliteli özetler oluşturmak için eğitilmiş bir model kullanır. API, Chrome'a yerleştirilmiştir ve Gemini Nano, bir web sitesi bu API'yi ilk kez kullandığında indirilen modeldir.

Modelin kullanıma hazır olup olmadığını belirlemek için eşzamansız Summarizer.availability() işlevini çağırın. Aşağıdaki değerleri içeren bir söz döndürür.

  • "unavailable", uygulamanın istenen seçenekleri desteklemediği anlamına gelir.
  • "downloadable", uygulamanın istenen seçenekleri desteklediği anlamına gelir. Ancak tarayıcının önce bir model (Chrome'da Gemini Nano) veya model için ince ayar gibi bir şey indirmesi gerekir.
  • "downloading", uygulamanın istenen seçenekleri desteklediği ancak devam edebilmesi için devam eden bir indirme işlemini tamamlaması gerektiği anlamına gelir.
  • "available", uygulamanın istenen seçenekleri desteklediği ve özetleyicinin devam edebileceği anlamına gelir.

Model indirme işlemini tetiklemek ve özetleyiciyi oluşturmak için eşzamansız Summarizer.create() işlevini çağırın. availability() sorusuna downloadable veya downloading yanıtı veriliyorsa indirme ilerleme durumunu dinlemek en iyi uygulamadır. Bu şekilde, kullanıcıyı bilgilendirebilir ve özetleme işleminin gerçekleşebilmesi için indirme işleminin tamamlanmasının zaman alabileceğini belirtebilirsiniz.

const summarizer = await Summarizer.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
});

API işlevleri

create() işlevi, ihtiyaçlarınıza göre yeni bir özetleyici nesnesi yapılandırmanıza olanak tanır. Aşağıdaki parametreleri içeren isteğe bağlı bir options nesnesi alır:

  • sharedContext: Özetleyiciye yardımcı olabilecek ek paylaşılan bağlam.
  • type: İzin verilen değerler key-points (varsayılan), tldr, teaser ve headline ile özetleme türü. Ayrıntılar için aşağıdaki tabloya bakın.
  • format: Özetin biçimi. İzin verilen değerler markdown (varsayılan) ve plain-text'dir.
  • length: Özetin uzunluğu. İzin verilen değerler short, medium (varsayılan) ve long'dir. Bu uzunlukların anlamları, istenen type göre değişir. Örneğin, Chrome'un uygulamasında kısa bir önemli noktalar özeti üç madde işaretinden, kısa bir özet ise tek bir cümleden oluşur.

Parametreler ayarlandıktan sonra değiştirilemez. Parametrelerde değişiklik yapmanız gerekiyorsa yeni bir özetleyici nesnesi oluşturun.

Aşağıdaki tabloda, farklı özet türleri ve bunların uzunlukları gösterilmektedir. Uzunluklar, bazen sonuçlar daha kısa olabileceğinden olası maksimum değeri temsil eder.

Tür Anlamı Uzunluk
"tldr" Özet kısa ve öz olmalı, girişe dair hızlı bir genel bakış sunmalı ve yoğun okuyuculara uygun olmalıdır.
kısa video 1 cümle
medium 3 cümle
uzun 5 cümle
"teaser" Özet, girişin en ilginç veya merak uyandıran kısımlarına odaklanmalı ve okuyucuyu daha fazla okumaya teşvik edecek şekilde tasarlanmalıdır.
kısa video 1 cümle
medium 3 cümle
uzun 5 cümle
"key-points" Özet, girişten en önemli noktaları çıkarıp madde işaretli liste olarak sunmalıdır.
kısa video 3 madde işareti
medium 5 madde işareti
uzun 7 madde işareti
"headline" Özet, girişin ana noktasını tek bir cümlede, makale başlığı biçiminde etkili bir şekilde içermelidir.
kısa video 12 kelime
medium 17 kelime
uzun 22 kelime

Aşağıdaki örnekte, özetleyicinin nasıl başlatılacağı gösterilmektedir.

const options = {
  sharedContext: 'This is a scientific article',
  type: 'key-points',
  format: 'markdown',
  length: 'medium',
};

const availability = await Summarizer.availability();
let summarizer;
if (availability === 'unavailable') {
  // The Summarizer API isn't usable.
  return;
}
if (availability === 'available') {
  // The Summarizer API can be used immediately .
  summarizer = await Summarizer.create(options);
} else {
  // The Summarizer API can be used after the model is downloaded.
  summarizer = await Summarizer.create(options);
  summarizer.addEventListener('downloadprogress', (e) => {
    console.log(`Downloaded ${e.loaded * 100}%`);
  });
  await summarizer.ready;
}

Özetleyiciyi çalıştırma

Özetleyiciyi çalıştırmanın iki yolu vardır: akış ve toplu işlem (akış dışı).

Toplu özetleme

Toplu özetleme işleminde model, girişi bir bütün olarak işler ve ardından çıkışı üretir.

Toplu özet almak için summarize() işlevini çağırın. İlk bağımsız değişken, özetlemek istediğiniz metindir. İkinci isteğe bağlı bağımsız değişken, context alanı olan bir nesnedir. Bu alan, özetlemeyi iyileştirebilecek arka plan ayrıntıları eklemenize olanak tanır.

const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
  context: 'This article is intended for a tech-savvy audience.',
});

Akış özeti

Akış özetleme, sonuçları gerçek zamanlı olarak sunar. Giriş eklendikçe ve ayarlandıkça çıkış sürekli olarak güncellenir. Yayın özeti almak için summarize() yerine summarizeStreaming()'ı arayın.

const longText = document.querySelector('article').innerHTML;
const stream = summarizer.summarizeStreaming(longText, {
  context: 'This article is intended for junior developers.',
});
for await (const chunk of stream) {
  console.log(chunk);
}

Demo

Özetleyici API'yi Özetleyici API Playground'da deneyebilirsiniz.

Standartlaştırma çalışması

Tarayıcılar arası uyumluluğu sağlamak için Özetleyici API'yi standartlaştırmaya çalışıyoruz.

API önerimiz topluluktan destek aldı ve daha fazla tartışılmak üzere W3C Web Incubator Community Group'a taşındı. Chrome ekibi, W3C Teknik Mimari Grubu'ndan geri bildirim istedi ve Mozilla ile WebKit'ten standartlarla ilgili görüşlerini paylaşmalarını istedi.

Web Incubator Community Group'a katılarak standartlar çalışmasına dahil olun.

Geri bildirim

Özetleyici API ile neler geliştirdiğinizi görmek istiyoruz. Web sitelerinizi ve web uygulamalarınızı X, YouTube ve LinkedIn'de bizimle paylaşın.

Chrome'un uygulamasıyla ilgili geri bildirim için hata raporu veya özellik isteği gönderin.