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

पब्लिश करने की तारीख: 11 नवंबर, 2024, पिछली बार अपडेट करने की तारीख: 20 मई, 2025

जानकारी देने वाला चिप वेब एक्सटेंशन Chrome का स्टेटस प्रयोजन
MDN Chrome 138 Chrome 138 देखें शिप करने का इंटेंट

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

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

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

अपनी प्रोफ़ाइल बनाना शुरू करें

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

इस एपीआई का इस्तेमाल करने से पहले, जनरेटिव एआई के इस्तेमाल से जुड़ी पाबंदी की Google की नीति स्वीकार करें.

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

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

हार्डवेयर की ज़रूरी शर्तें देखना

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

भाषा का पता लगाने वाला टूल और Translator API, डेस्कटॉप पर Chrome में काम करते हैं. ये एपीआई, मोबाइल डिवाइसों पर काम नहीं करते. Prompt API, Summarizer API, Writer API, और Rewriter API, Chrome में तब काम करते हैं, जब ये शर्तें पूरी होती हैं:

  • ऑपरेटिंग सिस्टम: Windows 10 या 11; macOS 13+ (Ventura और उसके बाद के वर्शन); या Linux. फ़िलहाल, Android, iOS, और ChromeOS के लिए Chrome में, Gemini Nano का इस्तेमाल करने वाले एपीआई काम नहीं करते.
  • स्टोरेज: उस वॉल्यूम में कम से कम 22 जीबी स्टोरेज होना चाहिए जिसमें आपकी Chrome प्रोफ़ाइल मौजूद है.
  • जीपीयू: 4 जीबी से ज़्यादा वीआरएम.
  • नेटवर्क: अनलिमिटेड डेटा या बिना डेटा मीटर वाला कनेक्शन.

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

मॉडल डाउनलोड

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

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

  • "unavailable" का मतलब है कि लागू करने की सुविधा, अनुरोध किए गए विकल्पों के साथ काम नहीं करती.
  • "downloadable" का मतलब है कि लागू करने की सुविधा, अनुरोध किए गए विकल्पों के साथ काम करती है. हालांकि, इसके लिए ब्राउज़र को कुछ डाउनलोड करना होगा. जैसे, Chrome के मामले में Gemini Nano मॉडल या मॉडल के लिए फ़ाइन-ट्यूनिंग.
  • "downloading" का मतलब है कि लागू करने की सुविधा, अनुरोध किए गए विकल्पों के साथ काम करती है. हालांकि, आगे बढ़ने से पहले, उसे डाउनलोड की जा रही फ़ाइल को पूरा डाउनलोड करना होगा.
  • "available" का मतलब है कि लागू करने की सुविधा, अनुरोध किए गए विकल्पों के साथ काम करती है और 'खास जानकारी देने वाला टूल' आगे की कार्रवाई कर सकता है.

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

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 में लागू करने के लिए, मुख्य बिंदुओं की खास जानकारी में तीन बुलेट पॉइंट होते हैं और खास जानकारी में एक वाक्य होता है.

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

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

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

इस उदाहरण में, खास जानकारी देने वाले टूल को शुरू करने का तरीका बताया गया है.

const options = {
  sharedContext: 'This is a scientific article',
  type: 'key-points',
  format: 'markdown',
  length: 'medium',
};

const availability = await Summarizer.availability();
let summarizer;
if (availability === 'unavailable') {
  // The Summarizer API isn't usable.
  return;
}
if (availability === 'available') {
  // The Summarizer API can be used immediately .
  summarizer = await Summarizer.create(options);
} else {
  // The Summarizer API can be used after the model is downloaded.
  summarizer = await Summarizer.create(options);
  summarizer.addEventListener('downloadprogress', (e) => {
    console.log(`Downloaded ${e.loaded * 100}%`);
  });
  await summarizer.ready;
}

खास जानकारी देने वाली सुविधा को चलाना

खास जानकारी देने वाले टूल को चलाने के दो तरीके हैं: स्ट्रीमिंग और बैच (नॉन-स्ट्रीमिंग).

बैच की खास जानकारी

एक साथ कई डेटा की खास जानकारी देने की सुविधा की मदद से, मॉडल पूरे इनपुट को प्रोसेस करता है और फिर आउटपुट जनरेट करता है.

बैच की खास जानकारी पाने के लिए, 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 को आज़माया जा सकता है.

स्टैंडर्ड बनाने की कोशिश

हम Summarizer API को स्टैंडर्ड बनाने पर काम कर रहे हैं, ताकि यह सभी ब्राउज़र के साथ काम कर सके.

हमारे एपीआई के प्रस्ताव को कम्यूनिटी का समर्थन मिला है. साथ ही, इस पर आगे चर्चा करने के लिए, इसे W3C वेब इनक्यूबेटर कम्यूनिटी ग्रुप पर भेज दिया गया है. Chrome टीम ने W3C के तकनीकी आर्किटेक्चर ग्रुप से सुझाव, राय या शिकायत मांगी. साथ ही, Mozilla और WebKit से स्टैंडर्ड के बारे में जानकारी मांगी.

वेब इनक्यूबेटर कम्यूनिटी ग्रुप में शामिल होकर, स्टैंडर्ड बनाने की प्रोसेस में हिस्सा लें.

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

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

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