पब्लिश किया गया: 20 मई, 2025
ज़्यादा जानकारी देने वाला वीडियो | वेब | एक्सटेंशन | Chrome का स्टेटस | प्रयोजन |
---|---|---|---|---|
GitHub | देखें | एक्सपेरिमेंट करने का मकसद |
Rewriter API की मदद से, टेक्स्ट में बदलाव किया जा सकता है और उसका स्ट्रक्चर बदला जा सकता है. यह एपीआई और Writer API, लिखने में मदद करने वाले एपीआई के प्रस्ताव का हिस्सा हैं.
इन एपीआई की मदद से, उपयोगकर्ताओं के बनाए गए कॉन्टेंट को बेहतर बनाया जा सकता है.
उपयोग के उदाहरण
मौजूदा टेक्स्ट को लंबा या छोटा करके या उसकी टोन बदलकर, उसे बेहतर बनाएं. उदाहरण के लिए, ये काम किए जा सकते हैं:
- किसी छोटे ईमेल को दोबारा लिखें, ताकि वह ज़्यादा विनम्र और औपचारिक लगे.
- ग्राहकों की समीक्षाओं में बदलाव करने का सुझाव दें, ताकि दूसरे ग्राहक उस सुझाव या राय को समझ सकें या आपत्तिजनक भाषा को हटाया जा सके.
- कुछ ऑडियंस की उम्मीदों को पूरा करने के लिए, कॉन्टेंट को फ़ॉर्मैट करें.
क्या आपके ऐप्लिकेशन के इस्तेमाल का उदाहरण मौजूद नहीं है? अपने सुझाव, शिकायत या राय देने के लिए, रिलीज़ से पहले झलक देखने की सुविधा वाले प्रोग्राम में शामिल हों.
अपनी प्रोफ़ाइल बनाना शुरू करें
Rewriter API के ऑरिजिन ट्रायल में शामिल हों. यह ट्रायल, Chrome 137 से 142 में चल रहा है.
हार्डवेयर की ज़रूरी शर्तें देखना
भाषा का पता लगाने वाला टूल और Translator API, सिर्फ़ Chrome के डेस्कटॉप वर्शन पर काम करते हैं.
Prompt API, Summarizer API, Writer API, और Rewriter API, Chrome में तब काम करते हैं, जब ये शर्तें पूरी होती हैं:
- ऑपरेटिंग सिस्टम: Windows 10 या 11; macOS 13+ (Ventura और उसके बाद के वर्शन); या Linux. फ़िलहाल, Gemini Nano के साथ काम करने वाले हमारे एपीआई, Chrome for Android, iOS, और ChromeOS के साथ काम नहीं करते.
- स्टोरेज: उस वॉल्यूम में कम से कम 22 जीबी स्टोरेज होना चाहिए जिसमें आपकी Chrome प्रोफ़ाइल मौजूद है.
- GPU: 4 जीबी से ज़्यादा वीआरएम.
- नेटवर्क: अनलिमिटेड डेटा या बिना डेटा मीटर वाला कनेक्शन.
ये ज़रूरी शर्तें, ऐप्लिकेशन बनाने की प्रोसेस के दौरान आपके लिए और उन उपयोगकर्ताओं के लिए होती हैं जो आपके बनाए गए ऐप्लिकेशन का इस्तेमाल करते हैं.
ऑरिजिन ट्रायल के लिए साइन अप करना
Rewriter API, Writer API के साथ ऑरिजिन ट्रायल में उपलब्ध है. इन एपीआई का इस्तेमाल शुरू करने के लिए:
- जनरेटिव एआई के इस्तेमाल से जुड़ी पाबंदी की Google की नीति को स्वीकार करें.
- Rewriter API के ऑरिजिन ट्रायल पर जाएं.
- रजिस्टर करें पर क्लिक करें और फ़ॉर्म भरें. वेब ऑरिजिन फ़ील्ड में, अपना ऑरिजिन या एक्सटेंशन आईडी,
chrome-extension://YOUR_EXTENSION_ID
डालें. - सबमिट करने के लिए, रजिस्टर करें पर क्लिक करें.
- दिए गए टोकन को कॉपी करें और उसे अपने ऑरिजिन पर, प्रोग्राम में हिस्सा लेने वाले हर वेब पेज पर जोड़ें या अपने एक्सटेंशन मेनिफ़ेस्ट में शामिल करें.
- Rewriter API का इस्तेमाल शुरू करें.
ऑरिजिन ट्रायल शुरू करने के तरीके के बारे में ज़्यादा जानें.
localhost के लिए सहायता जोड़ना
ऑरिजिन ट्रायल के दौरान, localhost पर Writer और Rewriter API को ऐक्सेस करने के लिए, आपको Chrome को सबसे नए वर्शन में अपडेट करना होगा. फिर, इन स्तरो का पालन करें:
chrome://flags/#rewriter-api-for-gemini-nano
पर जाएं.- चालू है को चुनें.
- फिर से लॉन्च करें पर क्लिक करें या Chrome को रीस्टार्ट करें.
Rewriter API का इस्तेमाल करना
सबसे पहले, सुविधा का पता लगाने की सुविधा चलाकर देखें कि ब्राउज़र इन एपीआई के साथ काम करता है या नहीं.
if ('Rewriter' in self) {
// The Rewriter API is supported.
}
Rewriter API और पहले से मौजूद अन्य सभी एआई एपीआई, ब्राउज़र में इंटिग्रेट किए गए हैं. जब कोई वेबसाइट पहली बार, पहले से मौजूद एआई एपीआई का इस्तेमाल करती है, तो Gemini Nano को अलग से डाउनलोड किया जाता है. आम तौर पर, अगर किसी उपयोगकर्ता ने पहले से ही पहले से मौजूद एपीआई के साथ इंटरैक्ट किया है, तो उसने अपने ब्राउज़र में मॉडल डाउनलोड कर लिया है.
यह पता लगाने के लिए कि मॉडल इस्तेमाल के लिए तैयार है या नहीं, असाइनोक्रोनस
Rewriter.availability()
फ़ंक्शन को कॉल करें. यह एक स्ट्रिंग दिखाता है, जिसमें चार संभावित वैल्यू हो सकती हैं:
unavailable
: ब्राउज़र में Rewriter API काम करता है, लेकिन फ़िलहाल इसका इस्तेमाल नहीं किया जा सकता. ऐसा कई वजहों से हो सकता है. जैसे, मॉडल डाउनलोड करने के लिए डिस्क में जगह कम होना.available
: ब्राउज़र, Rewriter API के साथ काम करता है और इसका इस्तेमाल तुरंत किया जा सकता है.downloadable
: ब्राउज़र, Rewriter API के साथ काम करता है. हालांकि, इसके लिए उसे पहले मॉडल डाउनलोड करना होगा.downloading
: ब्राउज़र, Rewriter API के साथ काम करता है और फ़िलहाल मॉडल डाउनलोड कर रहा है.
मॉडल डाउनलोड करने और रीराइटर को शुरू करने के लिए, Rewriter.create()
फ़ंक्शन को कॉल करें. अगर availability()
के लिए जवाब downloadable
था, तो डाउनलोड की प्रोग्रेस सुनें और उपयोगकर्ता को बताएं, क्योंकि डाउनलोड में समय लग सकता है.
const rewriter = await Rewriter.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
एपीआई फ़ंक्शन
create()
फ़ंक्शन की मदद से, नया रीराइटर ऑब्जेक्ट कॉन्फ़िगर किया जा सकता है. यह इन पैरामीटर के साथ, वैकल्पिक options
ऑब्जेक्ट लेता है:
tone
: लिखने के तरीके से, कॉन्टेंट के स्टाइल, किरदार या नज़रिए का पता चलता है. वैल्यू कोmore-formal
,as-is
(डिफ़ॉल्ट) याmore-casual
पर सेट किया जा सकता है.format
: आउटपुट फ़ॉर्मैटिंग, जिसमेंas-is
(डिफ़ॉल्ट),markdown
, औरplain-text
वैल्यू इस्तेमाल की जा सकती हैं.length
: आउटपुट की लंबाई. इसके लिए,shorter
,as-is
(डिफ़ॉल्ट), औरlonger
वैल्यू का इस्तेमाल किया जा सकता है.sharedContext
: एक से ज़्यादा कॉन्टेंट को फिर से लिखते समय, शेयर किए गए कॉन्टेक्स्ट से मॉडल को आपकी उम्मीदों के मुताबिक कॉन्टेंट बनाने में मदद मिल सकती है.
यहां दिए गए उदाहरण में, rewriter
ऑब्जेक्ट को शुरू करने का तरीका बताया गया है:
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);
});
}
फिर से लिखना शुरू करना
मॉडल से कॉन्टेंट आउटपुट करने के दो तरीके हैं: नॉन-स्ट्रीमिंग और स्ट्रीमिंग.
नॉन-स्ट्रीमिंग आउटपुट
नॉन-स्ट्रीमिंग रीराइटिंग में, मॉडल पूरे इनपुट को प्रोसेस करता है और फिर आउटपुट जनरेट करता है.
नॉन-स्ट्रीमिंग आउटपुट पाने के लिए, एसिंक्रोनस rewrite()
फ़ंक्शन को कॉल करें. आपको वह मूल टेक्स्ट शामिल करना होगा जिसे फिर से लिखना है. मॉडल के बैकग्राउंड की जानकारी देने के लिए, वैकल्पिक context
जोड़ा जा सकता है. इससे मॉडल को आउटपुट के लिए आपकी उम्मीदों को बेहतर तरीके से पूरा करने में मदद मिल सकती है.
// 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."
});
फिर से लिखने की सुविधा का आउटपुट स्ट्रीम करना
स्ट्रीमिंग से रीयल-टाइम में नतीजे मिलते हैं. इनपुट जोड़ने और उसमें बदलाव करने पर, आउटपुट लगातार अपडेट होता रहता है.
स्ट्रीमिंग रीराइटर पाने के लिए, rewriteStreaming()
फ़ंक्शन को कॉल करें और स्ट्रीम में टेक्स्ट के उपलब्ध सेगमेंट पर बार-बार जाएं. मॉडल के बैकग्राउंड की जानकारी देने के लिए, वैकल्पिक रूप से context
जोड़ा जा सकता है. इससे मॉडल को आउटपुट के लिए आपकी उम्मीदों को बेहतर तरीके से पूरा करने में मदद मिल सकती है.
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);
}
एक से ज़्यादा टास्क के लिए कॉन्टेक्स्ट शेयर करना
एक से ज़्यादा कॉन्टेंट जनरेट करने के लिए, rewriter
का इस्तेमाल किया जा सकता है. इस मामले में, sharedContext
जोड़ना मददगार होता है. उदाहरण के लिए, हो सकता है कि आप समीक्षकों को टिप्पणियों में बेहतर सुझाव देने में मदद करना चाहें.
// 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);
}
कॉन्टेंट को फिर से लिखने वाले टूल का फिर से इस्तेमाल करना
एक ही कॉन्टेंट में कई बदलाव करने के लिए, कॉन्टेंट को फिर से लिखने वाले टूल का इस्तेमाल किया जा सकता है. यह सुविधा, टिप्पणी करने या सुझाव/राय देने वाले टूल में रीराइटर जोड़ने पर, लेखकों को काम का और मददगार सुझाव/राय देने में मदद कर सकती है.
// 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",
})
),
);
कॉन्टेंट को फिर से लिखने की सुविधा बंद करना
फिर से लिखने की प्रोसेस को खत्म करने के लिए, कंट्रोलर को बंद करें और rewriter
को मिटा दें.
// 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();
डेमो
दर्शकों से जुड़ना और सुझाव/राय देना या शिकायत करना
Writer और Rewriter API के बारे में फ़िलहाल चर्चा की जा रही है. आने वाले समय में इनमें बदलाव हो सकते हैं. अगर आपने इस एपीआई को आज़माया है और आपका कोई सुझाव, शिकायत या राय है, तो हमें बताएं.
- एक्सप्लेनर पढ़ें, सवाल पूछें, और चर्चा में हिस्सा लें.
- Chrome Status पर, Chrome के लिए लागू करने की प्रक्रिया देखें.
- नए एपीआई के बारे में पहले से जानने और हमारी मेलिंग सूची का ऐक्सेस पाने के लिए, रिलीज़ होने से पहले इस्तेमाल करने की सुविधा देने वाले प्रोग्राम में शामिल हों.
- अगर आपको Chrome में इस सुविधा के लागू होने के बारे में सुझाव, शिकायत या राय देनी है, तो Chromium बग दर्ज करें.
ब्राउज़र में पहले से मौजूद एआई एपीआई के बारे में जानें. इनमें Gemini Nano और अन्य विशेषज्ञ मॉडल शामिल हैं.