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

पब्लिश होने की तारीख: 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; या Chromebook Plus डिवाइसों पर ChromeOS (प्लेटफ़ॉर्म 16389.0.0 और इसके बाद के वर्शन). Gemini Nano का इस्तेमाल करने वाले एपीआई, फ़िलहाल Android, iOS, और ChromeOS के लिए Chrome के साथ काम नहीं करते. ये एपीआई, Chromebook Plus डिवाइसों के अलावा अन्य डिवाइसों पर काम नहीं करते.
  • स्टोरेज: Chrome प्रोफ़ाइल वाले वॉल्यूम पर कम से कम 22 जीबी खाली जगह.
  • जीपीयू या सीपीयू: पहले से मौजूद मॉडल, जीपीयू या सीपीयू के साथ काम कर सकते हैं.
    • जीपीयू: चार जीबी से ज़्यादा वीआरएएम.
    • सीपीयू: 16 जीबी या उससे ज़्यादा रैम और चार या उससे ज़्यादा सीपीयू कोर.
    • ध्यान दें: ऑडियो इनपुट के साथ Prompt API के लिए, जीपीयू की ज़रूरत होती है.
  • नेटवर्क: अनलिमिटेड डेटा या ऐसा कनेक्शन जिस पर डेटा इस्तेमाल की कोई सीमा नहीं है.

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

मॉडल डाउनलोड

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

यह जानने के लिए कि मॉडल इस्तेमाल के लिए तैयार है या नहीं, एसिंक्रोनस 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, कई भाषाओं में उपलब्ध है. सेशन बनाते समय, अनुमानित इनपुट, आउटपुट, और कॉन्टेक्स्ट की भाषाएं सेट करें. इससे ब्राउज़र, अनुरोध को अस्वीकार कर सकता है. ऐसा तब होता है, जब ब्राउज़र किसी खास भाषा के कॉम्बिनेशन के साथ काम नहीं कर पाता.

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, और Web Workers

डिफ़ॉल्ट रूप से, 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, Web Workers में उपलब्ध नहीं है. ऐसा इसलिए है, क्योंकि अनुमति से जुड़ी नीति की स्थिति की जांच करने के लिए, हर वर्कर के लिए ज़िम्मेदार दस्तावेज़ बनाना मुश्किल है.

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

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

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