Yayınlanma tarihi: 11 Kasım 2024
Kullanıcılarınıza uzun makaleleri, karmaşık dokümanları ve hatta canlı sohbet görüşmelerini kısa ve bilgilendirici özetlere dönüştürme olanağı sunabileceğinizi hayal edin.
Özetleyici API, cümle, paragraf, madde işareti listesi ve daha fazlası gibi çeşitli uzunluk ve biçimlerde farklı türde özetler oluşturmak için kullanılabilir. Bu API'nin aşağıdaki senaryolarda faydalı olacağını düşünüyoruz:
- Bir makalenin veya sohbet görüşmesinin önemli noktalarını özetleme
- Makaleler için başlık ve başlıklar önerir.
- Uzun bir metnin kısa ve bilgilendirici bir özetini oluşturma.
- Kitap incelemesine dayalı bir kitap tanıtımı oluşturma.
Kullanılabilirlik
- Chrome 131 ile Chrome 136 arasında çalışan Summarizer API kaynak denemesine katılın. Kaynak denemeleri, özelliği Chrome'da kaynağınızdaki gerçek kullanıcılara sunmanıza olanak tanır.
- Uygulama sürecimizi Chrome Durumu'nda takip edebilirsiniz.
- Summarizer API önerisi, yazma API'leri paketinin bir parçasıdır ve tartışmaya açıktır.
- Yeni yerleşik yapay zeka API'lerine erken bir bakış atmak ve posta listemizdeki tartışmalara erişmek için erken önizleme programına katılın.
Kaynak denemesine kaydolma
Özetleyici API'yi kullanmaya başlamak için aşağıdaki adımları uygulayın:
- Google'ın Üretken Yapay Zeka Yasaklanan Kullanım Politikası'nı kabul edin.
- Summarizer API kaynak denemesi sayfasına gidin.
- Register'ı (Kaydol) tıklayın ve formu doldurun.
- Web kaynağı alanına kaynağınızı veya uzantı kimliğinizi (
chrome-extension://YOUR_EXTENSION_ID
) girin.
- Web kaynağı alanına kaynağınızı veya uzantı kimliğinizi (
- Göndermek için Kaydol'u tıklayın.
- Sağlanan jetonu kopyalayıp deneme sürümünün etkinleştirilmesini istediğiniz kaynaktaki veya uzantınızın dosyasındaki her web sayfasına ekleyin.
- Uzantı oluşturuyorsanız Uzantılar kaynak deneme talimatlarını uygulayın.
- Summarizer API'yi kullanmaya başlayın.
Kaynak denemelerini kullanmaya başlama hakkında daha fazla bilgi edinin.
Kaynak denemesi sırasındaki sınırlamalar
Model kalitesi yalnızca İngilizce içerik üzerinde ayrıntılı olarak test edildiğinden, kaynak denemesi sırasında Summarizer API yalnızca İngilizce metinlerin özetlenmesini destekler. Kalite ve güvenlik açısından ek dilleri test ettikten ve API'yi geniş bir kitleye sunduktan sonra bu sınırlamayı kaldırmayı planlıyoruz.
localhost için destek ekleme
Kaynak denemesi sırasında localhost
'te Summarizer API'ye erişmek için Chrome Canary'a sahip olmanız gerekir. Ardından aşağıdaki adımları uygulayın:
- Windows, Mac veya Linux platformlarından birinde Chrome Canary'ı açın.
- Şuraya git:
chrome://flags/#summarization-api-for-gemini-nano
. - Etkin'i seçin.
- Yeniden başlat'ı tıklayın veya Chrome'u yeniden başlatın.
Summarizer API'yi kullanma
Öncelikle, tarayıcının Summarizer API'yi destekleyip desteklemediğini görmek için özellik algılama işlemini çalıştırın.
if ('ai' in self && 'summarizer' in self.ai) {
// The Summarizer API is supported.
}
Model indirme
Özetleyici API, yüksek kaliteli özetler oluşturmak için eğitilmiş güçlü bir yapay zeka modeli kullanır. API, Chrome'a yerleştirilmiş olsa da bir web sitesi API'yi ilk kez kullandığında model ayrı olarak indirilir.
Modelin kullanıma hazır olup olmadığını belirlemek için asenkron ai.summarizer.capabilities()
işlevini çağırın. Üç olası değer alabilen bir available
alanına sahip bir AISummarizerCapabilities
nesnesi döndürür:
no
: Mevcut tarayıcı, özetleyici API'yi destekler ancak şu anda kullanılamaz. Bu durum, modeli indirmek için yeterli disk alanı olmaması gibi çeşitli nedenlerden kaynaklanabilir.readily
: Mevcut tarayıcı, özetleyici API'yi destekler ve hemen kullanılabilir.after-download
: Mevcut tarayıcı, özetleyici API'yi destekler ancak önce modeli indirmesi gerekir.
Model indirme işlemini tetiklemek ve özetleyiciyi oluşturmak için eşzamansız ai.summarizer.create()
işlevini çağırın. capabilities()
için yanıt after-download
ise indirme işleminin ilerleme durumunu dinlemeniz önerilir. Bu sayede, indirme işleminin uzun sürmesi durumunda kullanıcıyı bilgilendirebilirsiniz.
const summarizer = await ai.summarizer.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded} of ${e.total} bytes.`);
});
}
});
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
:key-points
(varsayılan),tl;dr
,teaser
veheadline
izin verilen değerlerle özetleme türü.format
:markdown
(varsayılan) veplain-text
izin verilen değerlerle özetleme biçimi.length
:short
,medium
(varsayılan) velong
izin verilen değerlerle özetleme uzunluğu. Bu uzunlukların anlamları, istenentype
'e göre değişir. Örneğin, Chrome'un uygulamasında kısa önemli noktalar özeti üç madde işaretinden, kısa özet ise bir cümleden oluşur. Uzun önemli noktalar özeti yedi madde işaretinden, uzun özet ise bir paragraftan oluşur.
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 available = (await self.ai.summarizer.capabilities()).available;
let summarizer;
if (available === 'no') {
// The Summarizer API isn't usable.
return;
}
if (available === 'readily') {
// The Summarizer API can be used immediately .
summarizer = await self.ai.summarizer.create(options);
} else {
// The Summarizer API can be used after the model is downloaded.
summarizer = await self.ai.summarizer.create(options);
summarizer.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
await summarizer.ready;
}
Özetleyiciyi çalıştırma
Özetleyiciyi çalıştırmanın iki yolu vardır: akış ve akış dışı.
Akış dışı özet
Akış dışı özetleme işleminde model, girişi bir bütün olarak işler ve ardından çıkışı oluşturur.
Akış olmayan bir özet almak için özetleyicinin eşzamansız summarize()
işlevini çağırın. İşlevin ilk bağımsız değişkeni, özetlemek istediğiniz metindir. İkinci isteğe bağlı bağımsız değişken, context
alanına sahip bir nesnedir.
Bu alan, özetleme işlemini 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ı anlık olarak sunar. Giriş eklenip ayarlandıkça çıkış sürekli olarak güncellenir.
Akış özetini almak için özetleyicinin summarizeStreaming()
işlevini çağırın. Ardından akıştaki mevcut metin segmentlerini iteratif olarak inceleyin.
let result = '';
let previousChunk = '';
for await (const chunk of stream) {
const newChunk = chunk.startsWith(previousChunk)
? chunk.slice(previousChunk.length) : chunk;
console.log(newChunk);
result += newChunk;
previousChunk = chunk;
}
console.log(result);
summarizeStreaming()
, yanıt segmentlerinin birbirini ardışık olarak oluşturduğu bir ReadableStream
döndürür. Bu, her yanıtın yalnızca bir sonraki segmenti değil, o noktaya kadar oluşturulan özetin tamamını içerdiği anlamına gelir. Bu, amaçlanan davranış değildir.
Segmentlerin tek bir uzun yayının art arda gelen parçaları olduğu platformdaki diğer akış API'leriyle uyumlu hale getirmeyi amaçlıyoruz. Şu anda, istenen davranışı elde etmek için aşağıdakileri uygulayabilirsiniz:
let result = '';
let previousLength = 0;
for await (const segment of stream) {
const newContent = segment.slice(previousLength);
console.log(newContent);
previousLength = segment.length;
result += newContent;
}
console.log(result);
Demo
Summarizer API'yi Summarizer API Playground'da deneyebilirsiniz.
Standartlaştırma çalışması
Tarayıcılar arası uyumluluğu sağlamak için Summarizer API'yi standartlaştırmaya çalışıyoruz.
API önerimiz topluluktan destek aldı ve daha fazla tartışma için W3C Web Incubator Topluluğu'na taşındı. Chrome ekibi, W3C Teknik Mimari Grubu'ndan geri bildirim istedi ve Mozilla ile WebKit'ten standartlarla ilgili görüşlerini sordu.
Katılma ve geri bildirim paylaşma
Kaynak denemesine katılarak Summarizer API'yi hemen test etmeye başlayın ve geri bildirimlerinizi paylaşın. Geri bildiriminiz, bu API'nin gelecekteki sürümlerini ve tüm yerleşik yapay zeka API'lerini nasıl oluşturup uygulayacağımızı doğrudan etkileyebilir.
- Chrome'un uygulanmasıyla ilgili geri bildirim için hata raporu veya özellik isteği gönderin.
- Mevcut bir soruna yorum yaparak veya yeni bir sorun açarak GitHub'da Özetleyici API tasarımını tartışın.
- Web Incubator Topluluk Grubu'na katılarak standartlar çalışmalarına katılın.