Yayınlanma tarihi: 20 Mayıs 2025
Açıklayıcı | Web | Uzantılar | Chrome Durumu | Amaç |
---|---|---|---|---|
GitHub | Görünüm | Deneme Amacı (Intent to Experiment) |
Rewriter API, metinleri gözden geçirip yeniden yapılandırmanıza yardımcı olur. Bu API ve Writer API, Yazma Yardımı API'leri teklifinin bir parçasıdır.
Bu API'ler, kullanıcılar tarafından oluşturulan içerikleri iyileştirmenize yardımcı olabilir.
Kullanım alanları
Mevcut metni daha uzun veya daha kısa hale getirerek ya da üslubunu değiştirerek iyileştirin. Örneğin, şunları yapabilirsiniz:
- Kısa bir e-postayı daha nazik ve resmi bir üslupla yeniden yaz.
- Diğer müşterilerin geri bildirimi anlamasına yardımcı olmak veya zararlı içerikleri kaldırmak için müşteri yorumlarında düzenleme önerme
- İçeriği belirli kitlelerin beklentilerini karşılayacak şekilde biçimlendirin.
Kullanım alanınız eksik mi? Geri bildiriminizi paylaşmak için erken önizleme programına katılın.
Başlayın
Chrome 137-142'de çalışan Rewriter API kaynak denemesine katılın.
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 ya da sonraki sürümler (Ventura ve sonrası); Linux; veya [Chromebook Plus](https://www.google.com/chromebook/chromebookplus/) cihazlarda ChromeOS (Platform 16389.0.0 ve sonrası). Android, iOS ve Chromebook Plus olmayan cihazlarda 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ğinde 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.
Deneme sürecine kaydolma
Rewriter API, Writer API ile ortak bir kaynak denemesi kapsamında kullanılabilir. Bu API'leri kullanmaya başlamak için:
- Google'ın Üretken Yapay Zeka Yasaklanan Kullanım Politikası'nı kabul edin.
- Rewriter API kaynak denemesine gidin.
- Kaydol'u tıklayın ve formu doldurun. Web kaynağı alanına kaynağınızı veya uzantı kimliğinizi girin
chrome-extension://YOUR_EXTENSION_ID
. - Göndermek için Kaydol'u tıklayın.
- Sağlanan jetonu kopyalayın ve kaynağınızdaki her katılımcı web sayfasına ekleyin veya uzantı manifestinize dahil edin.
- Rewriter API'yi kullanmaya başlayın.
Kaynak denemelerini kullanmaya başlama hakkında daha fazla bilgi edinin.
localhost için destek ekleme
Kaynak denemesi sırasında localhost'ta Writer ve Rewriter API'lerine erişmek için Chrome'u en yeni sürüme güncellemeniz gerekir. Ardından, aşağıdaki adımları uygulayın:
- Şuraya git:
chrome://flags/#rewriter-api-for-gemini-nano
. - Etkin'i seçin.
- Yeniden başlat'ı tıklayın veya Chrome'u yeniden başlatın.
Rewriter API'yi kullanma
Öncelikle, tarayıcının bu API'leri destekleyip desteklemediğini görmek için özellik algılama işlemini çalıştırın.
if ('Rewriter' in self) {
// The Rewriter API is supported.
}
Yeniden Yazma API'si ve diğer tüm yerleşik yapay zeka API'leri tarayıcıya entegre edilmiştir. Gemini Nano, bir web sitesi ilk kez yerleşik bir yapay zeka API'si kullandığında ayrı olarak indirilir. Uygulamada, bir kullanıcı yerleşik bir API ile etkileşimde bulunduysa modeli tarayıcısına indirmiş demektir.
Modelin kullanıma hazır olup olmadığını belirlemek için eşzamansız Rewriter.availability()
işlevini çağırın.
availability()
yanıtı downloadable
ise indirme işleminin ilerleme durumunu dinleyin ve indirme işlemi zaman alabileceği için kullanıcıyı bilgilendirin.
const availability = await Rewriter.availability();
Model indirmeyi tetiklemek ve yeniden yazıcıyı başlatmak için kullanıcı etkinleştirmesini kontrol edin ve Rewriter.create()
işlevini çağırın.
const rewriter = await Rewriter.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API işlevleri
create()
işlevi, yeni bir yeniden yazıcı nesnesi yapılandırmanıza olanak tanır. Aşağıdaki parametreleri içeren isteğe bağlı bir options
nesnesi alır:
tone
: Yazı üslubu içeriğin stilini, karakterini veya tutumunu ifade edebilir. Değermore-formal
,as-is
(varsayılan) veyamore-casual
olarak ayarlanabilir.format
: İzin verilen değerleras-is
(varsayılan),markdown
veplain-text
ile çıkış biçimlendirmesi.length
: Çıkışın uzunluğu. İzin verilen değerlershorter
,as-is
(varsayılan) velonger
'dir.sharedContext
: Birden fazla içerik yeniden yazılırken, paylaşılan bağlam, modelin beklentilerinize daha uygun içerikler oluşturmasına yardımcı olabilir.
Aşağıdaki örnekte, rewriter
nesnesinin nasıl başlatılacağı gösterilmektedir:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'more-casual',
format: 'plain-text',
length: 'shorter',
};
const available = await Rewriter.availability();
let rewriter;
if (available === 'unavailable') {
// The Rewriter API isn't usable.
return;
}
if (available === 'available') {
// The Rewriter API can be used immediately .
rewriter = await Rewriter.create(options);
} else {
// The Rewriter can be used after the model is downloaded.
rewriter = await Rewriter.create(options);
rewriter.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
Yeniden yazmaya başlama
Modelden içerik çıkışı almak için iki yöntem vardır: akışsız ve akış.
Yayın dışı çıkış
Akışsız yeniden yazma işleminde model, girişi bir bütün olarak işler ve ardından çıkışı üretir.
Akış olmayan bir çıkış elde etmek için eşzamansız rewrite()
işlevini çağırın. Yeniden yazılmasını istediğiniz ilk metni eklemeniz gerekir. Modele arka plan bilgisi sağlamak için isteğe bağlı bir context
ekleyebilirsiniz. Bu, modelin çıktı beklentilerinizi daha iyi karşılamasına yardımcı olabilir.
// Non-streaming
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const result = await rewriter.rewrite(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible."
});
Akış yeniden yazma çıkışı
Yayın, sonuçları gerçek zamanlı olarak sunar. Giriş eklenip ayarlandıkça çıkış sürekli olarak güncellenir.
Akışta yeniden yazma işlevi almak için rewriteStreaming()
işlevini çağırın ve akıştaki mevcut metin segmentlerini yineleyin. Modelin arka plan bilgilerini sağlamak için isteğe bağlı bir context
ekleyebilirsiniz. Bu, modelin çıktı beklentilerinizi daha iyi karşılamasına yardımcı olabilir.
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const stream = rewriter.rewriteStreaming(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible.",
tone: "more-casual",
});
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Birden fazla görev için bağlam paylaşma
Birden fazla içerik oluşturmak için rewriter
kullanabilirsiniz. Bu durumda sharedContext
eklemek faydalı olur. Örneğin, yorumlarda daha iyi geri bildirimler vermeleri için inceleme uzmanlarına yardımcı olmak isteyebilirsiniz.
// Shared context and per writing task context
const rewriter = await Rewriter.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = rewriter.rewriteStreaming(
"Love all this work on generative AI at Google! So much to learn and so many new things I can do!",
{
context: "The request comes from someone working at a startup providing an e-commerce CMS solution.",
tone: "more-casual",
}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Yeniden yazıcıyı yeniden kullanma
Birden fazla içeriği düzenlemek için aynı yeniden yazma aracını kullanabilirsiniz. Bu özellik, özellikle yazarların verimli ve faydalı geri bildirimler vermesine yardımcı olmak için yeniden yazma aracını bir geri bildirim veya yorum aracına eklerken yararlı olabilir.
// Reusing a rewriter
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const rewrittenReviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => rewriter.rewrite(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible.",
tone: "more-casual",
})
),
);
Yeniden yazma aracını durdurma
Yeniden yazma işlemini sonlandırmak için denetleyiciyi durdurun ve rewriter
öğesini yok edin.
// Stop a rewriter
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const rewriter = await Rewriter.create({ signal: controller.signal });
await rewriter.rewrite(reviewEl.textContent, { signal: controller.signal });
// Destroy a rewriter
rewriter.destroy();
Demo
İzin politikası, iframe'ler ve Web Workers
Rewriter 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 Rewriter API by
setting the `allow="rewriter"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="rewriter"></iframe>
Rewriter API, Web Workers'da kullanılamaz. Bunun nedeni, İzin Politikası durumunu kontrol etmek için her çalışanla ilgili sorumlu bir belge oluşturmanın karmaşık olmasıdır.
Etkileşim kurma ve geri bildirim paylaşma
Writer ve Rewriter API'leri aktif olarak tartışılmaktadır ve gelecekte değişebilir. Bu API'yi denerseniz geri bildiriminizi bizimle paylaşmanızı rica ederiz.
- Açıklamayı okuyun, soru sorun ve tartışmaya katılın.
- Chrome'daki uygulamayı Chrome Status'ta inceleyin.
- Yeni API'leri önceden görmek ve posta listemize erişmek için erken önizleme programına katılın.
- Chrome'un uygulamasıyla ilgili geri bildiriminiz varsa Chromium hata bildiriminde bulunun.
Tarayıcıda Gemini Nano ve diğer uzman modelleri de dahil olmak üzere modelleri kullanan tüm yerleşik yapay zeka API'lerini keşfedin.