पहले से मौजूद एआई की मदद से खास जानकारी पाना

पब्लिश होने की तारीख: 11 नवंबर, 2024, पिछली बार अपडेट किए जाने की तारीख: 30 जुलाई, 2025

Browser Support

  • Chrome: 138.
  • Edge: 138.
  • Firefox: not supported.
  • Safari: not supported.

Source

अपने उपयोगकर्ताओं को लंबे लेखों, मुश्किल दस्तावेज़ों या चैट की बातचीत की खास जानकारी देने की सुविधा दी जा सकती है. इससे उन्हें कम शब्दों में अहम जानकारी मिल सकती है.

Summarizer API का इस्तेमाल करके, अलग-अलग लंबाई और फ़ॉर्मैट में खास जानकारी जनरेट की जा सकती है. जैसे, वाक्य, पैराग्राफ़, बुलेट पॉइंट वाली सूचियां वगैरह. हमारा मानना है कि यह एपीआई इन स्थितियों में काम का है:

  • किसी लेख या चैट की बातचीत के मुख्य पॉइंट की खास जानकारी देना.
  • लेखों के लिए टाइटल और हेडिंग के सुझाव देना.
  • लंबे टेक्स्ट की खास जानकारी कम शब्दों में और जानकारी के साथ देना.
  • किसी किताब की समीक्षा के आधार पर, किताब का टीज़र जनरेट करना.

शुरू करें

Summarizer API, Chrome के 138 स्टेबल वर्शन से उपलब्ध है.

यह देखने के लिए कि ब्राउज़र, Summarizer API के साथ काम करता है या नहीं, सुविधा की पहचान करने की प्रोसेस चलाएं.

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

हार्डवेयर से जुड़ी ज़रूरी शर्तों की समीक्षा करना

डेवलपर और Chrome में इन एपीआई का इस्तेमाल करके सुविधाएं चलाने वाले उपयोगकर्ताओं के लिए, ये शर्तें लागू होती हैं. अन्य ब्राउज़र में, ऑपरेटिंग सिस्टम से जुड़ी अलग-अलग शर्तें हो सकती हैं.

Language Detector और Translator APIs , Chrome के डेस्कटॉप वर्शन पर काम करते हैं. ये एपीआई, फ़ोन या टैबलेट पर काम नहीं करते.

Prompt API, Summarizer API, Writer API, Rewriter API, और Proofreader API, Chrome में इन शर्तों के पूरा होने पर काम करते हैं:

  • ऑपरेटिंग सिस्टम: Windows 10 या 11; macOS 13 और इसके बाद के वर्शन (Ventura और इसके बाद के वर्शन); Linux; या ChromeOS (प्लैटफ़ॉर्म 16389.0.0 और इसके बाद के वर्शन) वाले Chromebook Plus डिवाइस. फ़िलहाल, Android, iOS, और ChromeOS के लिए Chrome के उन वर्शन पर, फ़ाउंडेशन मॉडल का इस्तेमाल करने वाले एपीआई काम नहीं करते जो Chromebook Plus डिवाइस पर नहीं चलते.
  • स्टोरेज: Chrome प्रोफ़ाइल वाले वॉल्यूम पर कम से कम 22 जीबी खाली जगह होनी चाहिए.
  • जीपीयू या सीपीयू: पहले से मौजूद मॉडल, जीपीयू या सीपीयू के साथ काम कर सकते हैं.
    • जीपीयू: वीआरएएम चार जीबी से ज़्यादा होना चाहिए.
    • सीपीयू: रैम 16 जीबी या उससे ज़्यादा होनी चाहिए. साथ ही, सीपीयू कोर चार या उससे ज़्यादा होने चाहिए.
    • ध्यान दें: ऑडियो इनपुट के साथ Prompt API के लिए, जीपीयू की ज़रूरत होती है.
  • नेटवर्क: अनलिमिटेड डेटा या ऐसा कनेक्शन जिस पर डेटा से जुड़ी पाबंदी न लगी हो.

Gemini Nano का सटीक साइज़ अलग-अलग हो सकता है, क्योंकि ब्राउज़र मॉडल को अपडेट करता रहता है. मौजूदा साइज़ जानने के लिए, chrome://on-device-internals पर जाएं.

मॉडल डाउनलोड

Summarizer API, अच्छी क्वालिटी की खास जानकारी जनरेट करने के लिए ट्रेन किए गए मॉडल का इस्तेमाल करता है. यह एपीआई, Chrome में पहले से मौजूद होता है. इसे पहली बार तब डाउनलोड किया जाता है, जब कोई वेबसाइट इस एपीआई का इस्तेमाल करती है.

यह जानने के लिए कि मॉडल इस्तेमाल के लिए तैयार है या नहीं, एसिंक्रोनस Summarizer.availability() फ़ंक्शन को कॉल करें. अगर availability() का जवाब downloadable है, तो डाउनलोड की प्रोसेस पर नज़र रखें, ताकि उपयोगकर्ता को इसकी जानकारी दी जा सके. ऐसा इसलिए, क्योंकि इसमें समय लग सकता है.

const availability = await Summarizer.availability();

मॉडल डाउनलोड करने और खास जानकारी जनरेट करने की सुविधा बनाने के लिए, उपयोगकर्ता के ऐक्टिवेशन की जांच करें. इसके बाद, एसिंक्रोनस Summarizer.create() फ़ंक्शन को कॉल करें.

// Proceed to request batch or streaming summarization
const summarizer = await Summarizer.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
});

एपीआई फ़ंक्शन

create() फ़ंक्शन की मदद से, अपनी ज़रूरत के हिसाब से खास जानकारी जनरेट करने वाले नए ऑब्जेक्ट को कॉन्फ़िगर किया जा सकता है. इसमें, options ऑब्जेक्ट का इस्तेमाल किया जा सकता है. इसमें ये पैरामीटर शामिल होते हैं:

  • sharedContext: शेयर किया गया अतिरिक्त कॉन्टेक्स्ट, जो खास जानकारी जनरेट करने वाले टूल के लिए मददगार हो सकता है.
  • type: खास जानकारी का टाइप. इसकी वैल्यू key-points (डिफ़ॉल्ट), tldr, teaser, और headline हो सकती हैं. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें.
  • format: खास जानकारी का फ़ॉर्मैट. इसकी वैल्यू markdown (डिफ़ॉल्ट) और plain-text हो सकती हैं.
  • length: खास जानकारी की लंबाई. इसकी वैल्यू short (डिफ़ॉल्ट), medium, और long हो सकती हैं. इन लंबाई का मतलब, अनुरोध किए गए type के हिसाब से अलग-अलग होता है. उदाहरण के लिए, Chrome के वर्शन में, मुख्य पॉइंट की खास जानकारी में तीन बुलेट पॉइंट होते हैं. वहीं, कम शब्दों में दी गई खास जानकारी में एक वाक्य होता है.
  • preference: यह डेवलपर के लिए एक ऐसा तरीका है जिससे वे यह बता सकते हैं कि वे तेज़ी से काम करने की सुविधा को प्राथमिकता देते हैं या सभी सुविधाओं को.
    • auto: ब्राउज़र, खास जानकारी जनरेट करने की सुविधा और काम करने की स्पीड के बीच बैलेंस बनाए रखता है. साथ ही, यह माहौल, सिस्टम की सीमाओं या कॉन्टेक्स्ट के आधार पर, अपनी इंटरनल प्रोसेसिंग को डाइनैमिक तौर पर अडजस्ट कर सकता है.
    • speed: ब्राउज़र को कम समय में और तेज़ी से काम करने की सुविधा को प्राथमिकता देनी चाहिए. इस तरीके में परफ़ॉर्मेंस को प्राथमिकता दी जाती है. इससे खास जानकारी जनरेट करने की सुविधा सीमित हो सकती है. ऐसा भी हो सकता है कि सोर्स टेक्स्ट से कम जानकारी निकाली जाए या उसे आसान तरीके से सिंथेसाइज़ किया जाए.
    • capability: ब्राउज़र को खास जानकारी की पूरी जानकारी और कोहेरेंस को प्राथमिकता देनी चाहिए. साथ ही, ऐसा मॉडल इस्तेमाल करना चाहिए जो खास जानकारी के टाइप और कॉन्फ़िगर किए जा सकने वाले अन्य विकल्पों के मामले में ज़्यादा फ़्लेक्सिबिलिटी देता हो. इस तरीके में, बारीकी से कॉन्टेक्स्ट को सटीक तरीके से कैप्चर करने और बेहतर खास जानकारी जनरेट करने पर फ़ोकस किया जाता है. इससे ज़्यादा समय लग सकता है और काम करने की स्पीड कम हो सकती है.

सेट किए जाने के बाद, पैरामीटर में बदलाव नहीं किया जा सकता. अगर आपको पैरामीटर में बदलाव करना है, तो खास जानकारी जनरेट करने वाला नया ऑब्जेक्ट बनाएं.

यहां दी गई टेबल में, अलग-अलग तरह की खास जानकारी और उनकी लंबाई दिखाई गई है. लंबाई, ज़्यादा से ज़्यादा वैल्यू को दिखाती है. ऐसा इसलिए, क्योंकि कभी-कभी नतीजे कम शब्दों में भी मिल सकते हैं.

टाइप मतलब लंबाई
"tldr" खास जानकारी कम शब्दों में और सटीक होनी चाहिए. साथ ही, इसमें इनपुट की खास जानकारी तुरंत मिलनी चाहिए. यह व्यस्त लोगों के लिए सही है.
कम शब्दों में एक वाक्य
मीडियम तीन वाक्य
लंबी पांच वाक्य
"teaser" खास जानकारी में, इनपुट के सबसे दिलचस्प या उत्सुकता बढ़ाने वाले हिस्सों पर फ़ोकस होना चाहिए. इसे इस तरह से डिज़ाइन किया जाना चाहिए, ताकि लोग ज़्यादा पढ़ने के लिए आकर्षित हों.
कम शब्दों में एक वाक्य
मीडियम तीन वाक्य
लंबी पांच वाक्य
"key-points" खास जानकारी में, इनपुट के सबसे अहम पॉइंट निकालने चाहिए. इन्हें बुलेट वाली सूची के तौर पर दिखाया जाना चाहिए.
कम शब्दों में तीन बुलेट पॉइंट
मीडियम पांच बुलेट पॉइंट
लंबी सात बुलेट पॉइंट
"headline" खास जानकारी में, इनपुट का मुख्य पॉइंट एक वाक्य में होना चाहिए. यह लेख की हेडलाइन के फ़ॉर्मैट में होना चाहिए.
कम शब्दों में 12 शब्द
मीडियम 17 शब्द
लंबी 22 शब्द

उदाहरण के लिए, खास जानकारी जनरेट करने वाले टूल को, Markdown में मुख्य पॉइंट की मीडियम लंबाई वाली खास जानकारी देने के लिए शुरू किया जा सकता है.

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);
}

अनुमानित भाषाएं असाइन करना

Summarizer API, "en", "ja", "es", "de", और "fr" को स्वीकार करता है. अन्य भाषाओं के लिए सहायता की सुविधा, डेवलपमेंट के प्रोसेस में है.`"सेशन बनाते समय, अनुमानित इनपुट, आउटपुट, और कॉन्टेक्स्ट की भाषाएं सेट करें. इससे ब्राउज़र, अनुरोध को अस्वीकार कर सकता है. ऐसा तब होता है, जब ब्राउज़र किसी खास भाषा के कॉम्बिनेशन के साथ काम नहीं कर पाता.

const summarizer = await Summarizer.create({
  type: 'key-points',
  expectedInputLanguages: ['en', 'ja', 'es'],
  outputLanguage: 'es',
  expectedContextLanguages: ['en'],
  sharedContext: 'These are requests to summarize articles from a multilanguage newspaper. The users expect a response in Spanish.',
});

खास जानकारी जनरेट करने वाले टूल को दो तरीकों से चलाया जा सकता है: स्ट्रीमिंग और बैच (अनुरोध के आधार पर आउटपुट).

बैच में खास जानकारी जनरेट करना

बैच में खास जानकारी जनरेट करने की सुविधा में, मॉडल पूरे इनपुट को प्रोसेस करता है. इसके बाद, आउटपुट जनरेट करता है.

बैच में खास जानकारी पाने के लिए, summarize() फ़ंक्शन को कॉल करें. पहला आर्ग्युमेंट, वह टेक्स्ट होता है जिसकी खास जानकारी आपको चाहिए. दूसरा, वैकल्पिक आर्ग्युमेंट, context फ़ील्ड वाला एक ऑब्जेक्ट होता है. इस फ़ील्ड की मदद से, बैकग्राउंड की ऐसी जानकारी जोड़ी जा सकती है जिससे खास जानकारी बेहतर हो सकती है.

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

स्ट्रीमिंग में खास जानकारी जनरेट करना

स्ट्रीमिंग में खास जानकारी जनरेट करने की सुविधा से, रीयल टाइम में नतीजे मिलते हैं. इनपुट जोड़ने और अडजस्ट करने पर, आउटपुट लगातार अपडेट होता रहता है. स्ट्रीमिंग में खास जानकारी पाने के लिए, summarize() के बजाय summarizeStreaming() को कॉल करें.

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);
}

डेमो

Summarizer API Playground में, Summarizer API को आज़माया जा सकता है.

अनुमति से जुड़ी नीति, iframe, और वेब वर्कर

डिफ़ॉल्ट रूप से, Summarizer API सिर्फ़ टॉप-लेवल विंडो और उनके सेम-ऑरिजिन iframe के लिए उपलब्ध होता है. अनुमति से जुड़ी नीति के allow="" एट्रिब्यूट का इस्तेमाल करके, क्रॉस-ऑरिजिन iframe को एपीआई का ऐक्सेस दिया जा सकता है:

<!--
  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>

फ़िलहाल, Summarizer API, वेब वर्कर में उपलब्ध नहीं है. ऐसा इसलिए है, क्योंकि अनुमति से जुड़ी नीति की स्थिति की जांच करने के लिए, हर वर्कर के लिए ज़िम्मेदार दस्तावेज़ बनाना मुश्किल है.

सुझाव/राय दें या शिकायत करें

हमें यह देखने में खुशी होगी कि Summarizer API का इस्तेमाल करके, क्या बनाया जा रहा है. अपनी वेबसाइटें और वेब ऐप्लिकेशन, X, YouTube, और LinkedIn पर हमारे साथ शेयर करें.

Chrome के वर्शन के बारे में सुझाव/राय देने या शिकायत करने के लिए, गड़बड़ी की रिपोर्ट सबमिट करें या किसी सुविधा के लिए अनुरोध करें.