Yayınlanma tarihi: 11 Kasım 2024, Son güncelleme tarihi: 30 Temmuz 2025
Açıklayıcı | Web | Uzantılar | Chrome Durumu | Amaç |
---|---|---|---|---|
MDN | 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: Chrome profilinizi içeren birimde en az 22 GB boş alan olmalıdır.
- GPU: Kesinlikle 4 GB'tan fazla VRAM.
- Ağ: Sınırsız veri veya ölçülmeyen bağlantı.
Tarayıcı modeli güncellediğinden Gemini Nano'nun tam boyutu değişebilir. Mevcut boyutu belirlemek için chrome://on-device-internals
adresini ziyaret edin ve 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. availability()
yanıtı downloadable
ise indirme işleminin ilerleme durumunu dinleyerek kullanıcıyı bilgilendirin. Bu işlem zaman alabilir.
const availability = await Summarizer.availability();
Model indirme işlemini tetiklemek ve özetleyiciyi oluşturmak için kullanıcı etkinleştirme işlemini kontrol edin, ardından eşzamansız Summarizer.create()
işlevini çağırın.
// Proceed to request batch or streaming summarization 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ğerlerkey-points
(varsayılan),tldr
,teaser
veheadline
ile özetleme türü. Ayrıntılar için aşağıdaki tabloya bakın.format
: Özetin biçimi. İzin verilen değerlermarkdown
(varsayılan) veplain-text
'dir.length
: Özetin uzunluğu. İzin verilen değerlershort
,medium
(varsayılan) velong
'dir. Bu uzunlukların anlamları, istenentype
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şin hızlı bir genel bakışını sunmalı ve yoğun okuyuculara uygun olmalıdır. |
| ||||||
"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. |
| ||||||
"key-points" | Özet, girişten en önemli noktaları çıkarıp madde işaretli liste olarak sunmalıdır. |
| ||||||
"headline" | Özet, girişin ana fikrini tek bir cümlede, makale başlığı formatında etkili bir şekilde içermelidir. |
|
Örneğin, bir özetleyiciyi Markdown biçiminde orta uzunlukta önemli noktalar üretecek şekilde başlatabilirsiniz.
const options = { sharedContext: 'This is a scientific article', type: 'key-points', format: 'markdown', length: 'medium', monitor(m) { m.addEventListener('downloadprogress', (e) => { console.log(`Downloaded ${e.loaded * 100}%`); }); } }; const availability = await Summarizer.availability(); if (availability === 'unavailable') { // The Summarizer API isn't usable. return; } // Check for user activation before creating the summarizer if (navigator.userActivation.isActive) { const summarizer = await Summarizer.create(options); }
Ö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.
İzin politikası, iframe'ler ve Web Workers
Özetleyici API varsayılan olarak yalnızca üst düzey pencerelerde ve bunların aynı kaynaklı iFrame'lerinde kullanılabilir. API'ye erişim, Permission Policy allow=""
özelliği kullanılarak kaynaklar arası iframe'lere devredilebilir:
<!-- The hosting site at https://main.example.com can grant a cross-origin iframe at https://cross-origin.example.com/ access to the Summarizer API by setting the `allow="summarizer"` attribute. --> <iframe src="https://cross-origin.example.com/" allow="summarizer"></iframe>
İzin politikası durumunu kontrol etmek için her çalışan için sorumlu bir belge oluşturmanın karmaşıklığı nedeniyle Özetleyici API şu anda Web Workers'ta kullanılamamaktadır.
Standartlaştırma çalışması
Özetleyici API'yi tarayıcılar arası uyumluluk için standartlaştırmak üzere çalışıyoruz.
Özetleyici API ve diğer Yazma Yardımı API'leri, W3C WebML Çalışma Grubu tarafından benimsenmiştir. Mozilla ve WebKit'ten standartlarla ilgili görüşlerini paylaşmalarını istedik.
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.