Summarizer API की मदद से, Bright Sites और Terra, लेख की दिलचस्प खास जानकारी बनाते हैं

Mari Viana
Mari Viana

पब्लिश किया गया: 15 मई, 2025

लोग स्थानीय, राष्ट्रीय, और अंतरराष्ट्रीय इवेंट के बारे में जानने के लिए, समाचार पब्लिशर पर भरोसा करते हैं. साथ ही, वे पब्लिशर के विचारों को भी पढ़ना पसंद करते हैं. आज के तेज़ी से बदलते माहौल में, लेख की खास जानकारी एक अहम रणनीति है. इससे, मुश्किल जानकारी को आसानी से समझने लायक स्निपेट में बदला जा सकता है. साथ ही, इससे पाठकों को लेख को और पढ़ने के लिए बढ़ावा मिलता है. जानें कि Summarizer API का इस्तेमाल करके, Bright Sites और Terra ने इस रणनीति को कैसे अपनाया.

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

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

Bright Sites, The Standard में लोगों के हिसाब से लेख की खास जानकारी जोड़ता है

Bright Sites का मुख्य खबरें पब्लिश करने वाला प्लैटफ़ॉर्म, Flow, 150 से ज़्यादा पब्लिकेशन के लिए काम करता है. एआई की मदद से काम करने वाले कॉन्टेंट मैनेजमेंट सिस्टम में Summarizer API को इंटिग्रेट करके, Bright Sites ने लंदन के मशहूर समाचार ब्रैंड The Standard को अपने पाठकों को लेखों की खास जानकारी देने की सुविधा दी है. इससे, लोगों को लेखों से जुड़ने और The Standard पर मौजूद अन्य लेखों को फिर से पढ़ने के लिए बढ़ावा मिलता है.

"Chrome में Gemini के बेहतरीन मॉडल के साथ काम करने से, The Standard की 198 साल की विरासत को नई तकनीकी के साथ जोड़ा जा रहा है. इससे हमारे पाठकों को नई जानकारी मिलती रहेगी. साथ ही, यह उन व्यस्त दर्शकों के लिए भी फ़ायदेमंद है जो भरोसेमंद पत्रकारिता को अपनी उंगलियों पर पाना चाहते हैं. पाठकों को अपने डिवाइसों पर बनाई गई खास जानकारी का इस्तेमाल करके, खबरें तुरंत देखने की सुविधा देना, The Standard को फिर से तैयार करने का सिर्फ़ एक तरीका है. साथ ही, हम पाठकों की डिजिटल आदतों के हिसाब से, उनके लिए नए प्रॉडक्ट भी बना रहे हैं."

जैक रीली, चीफ़ डिजिटल ऑफ़िसर, The Standard

क्लाइंट-साइड एआई की मदद से खास जानकारी देने की सुविधा की मदद से, The Standard ने अपने कारोबार पर अतिरिक्त खर्च किए बिना, उपयोगकर्ताओं के हिसाब से खास जानकारी जनरेट की. क्लाइंट-साइड पर ऐसा करने से, उपयोगकर्ताओं को इंटरनेट ऐक्सेस न होने पर भी पढ़ना जारी रखने में मदद मिलेगी. इसके लिए, खास जानकारी के स्टाइल या जगह जैसे डेटा पॉइंट का इस्तेमाल किया जाता है. लंदन अंडरग्राउंड पर लैपटॉप लेकर यात्रा करने वाले कई उपयोगकर्ताओं को अक्सर यह समस्या आती है.

सबसे पहले, वे मॉडल और एपीआई की उपलब्धता और काम करने की जांच करते हैं.

// Check if the device supports built-in AI
// Trigger the model download if not yet available, on capable devices
export const deviceCheck = async () => {
  const availability = await Summarizer.availability();
  if (!availability || availability === 'unavailable') {
    return {
      summarizationAvailable: false,
      message:
        "AI summarization tools are not supported on this device" +
        "or the appropriate permissions are not set.",
    }
  }
  if (availability === 'downloadable') {
    const shouldDownload = window.confirm(
      `This page contains an AI summary, using an AI model provided by your
      browser. Downloading the model, which could be multiple gigabytes in size,
      is required to view the summary. Would you like to download the model?`);

    if (!shouldDownload) {
      return {
        summarizationAvailable: false,
        message: "User declined installation.",
      }
    }

    // Trigger an installation
    Summarizer.create();
    return {
      summarizationAvailable: false,
      message: "Installing in the background. This may take a few minutes...",
    }
  }

  if (availability === 'available') {
    return {
      summarizationAvailable: true,
      message: "Ready for use.",
    }
  }
}

यहां दिया गया फ़ंक्शन, खास जानकारी देने वाले एक सामान्य टूल के बारे में बताता है. आने वाले समय में, यह टूल डिवाइस पर मौजूद किसी दूसरे मॉडल या सर्वर-साइड मॉडल का इस्तेमाल कर सकता है.

/**
* Define the summarizer.
**/
export const aiSummarize = async (textToSummarize, options) => {
  const availableSummarizationTools = getAvailableAiSummarizationTools()

  if (availableSummarizationTools.has('builtInAi') && options?.builtInAI) {
    // Generate the built-in AI summarizer and abort signal
    const summarizer = await createBuiltInAISummarizer(options.builtInAi.options)
    return await summarizer.summarize(textToSummarize, {
      signal: options.builtInAi.signal,
    })
  }
  throw new Error(
    'AI summarization tools are not supported on this device or browser.',
  )
}

स्टैंडर्ड वर्शन, IndexedDB में पाठकों की खास जानकारी की सेटिंग सेव करता है, ताकि उन्हें उनके हिसाब से खास जानकारी दी जा सके.

/**
* Log preferences in IndexDB for personalization
**/
abortController.current = new AbortController()
const preferencesDB = new PreferencesDB()
const summarization = await aiSummarize(articleContent, {
 clientSideAI: {
   options: await preferencesDB.getCreatesummarizerPreferences(),
   signal: abortController.current.signal,
 },
})

Terra, पत्रकारों को पुर्तगाली भाषा में लेखों की खास जानकारी देता है, जिसमें बदलाव किया जा सकता है

Terra, ब्राज़ील का सबसे बड़ा कॉन्टेंट पोर्टल है. इस पर मनोरंजन, खबरें, और खेल-कूद से जुड़ा कॉन्टेंट उपलब्ध है. हर महीने इस पर 5 करोड़ से ज़्यादा यूनीक विज़िटर आते हैं. Terra ने अपने कॉन्टेंट मैनेजमेंट सिस्टम (सीएमएस) में, Summarizer API और Translator API जोड़े हैं. इससे पत्रकारों को पॉर्चुगीज़ में खबरों की खास जानकारी तुरंत पाने में मदद मिलती है. इसके बाद, पत्रकार स्टाइल या सटीक जानकारी के लिए कुछ बदलाव कर सकते हैं और साथ मिलकर बनाई गई खास जानकारी को पब्लिश कर सकते हैं. इससे यह सभी पाठकों के लिए आसानी से उपलब्ध हो जाती है.

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

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

शुरुआत में, Terra को यह तय करने में समस्याएं आ रही थीं कि उनकी ज़रूरतों को पूरा करने के लिए, कौनसे खास जानकारी के टाइप और शेयर किए गए कॉन्टेक्स्ट सबसे सही हैं. प्रयोगों के ज़रिए, उन्हें पता चला कि Translator API की मदद से पॉर्चगीज़ में अच्छी क्वालिटी का आउटपुट पाने के लिए, अंग्रेज़ी में साफ़ और काम की खास जानकारी देना ज़रूरी है. एआई प्लैटफ़ॉर्म की मदद से, Terra ने इन समस्याओं को हल किया. इससे, Terra को हर बार कोड को फिर से लिखे बिना, अपने आइडिया को तुरंत टेस्ट करने में मदद मिली.

यहां दिए गए सैंपल में बताया गया है कि Terra, Summarizer API को कैसे इस्तेमाल करता है और यह उपलब्ध न होने पर, उपयोगकर्ताओं को कैसे सूचना देता है.

async function summarizerByBuiltInAI(text) {
  if (!(Summarizer)) {
    //Alert users in Portuguese that "Summarizer API is not available"
    cms_alert(ALERT_TYPE_ERROR, "Summarizer API não está disponível.")
    return null
  }

  try {
    const availability = await Summarizer.availability();
    if (availability !== 'available') {
      cms_alert(ALERT_TYPE_ERROR, "Summarizer API não está disponível.")
      return null 
    }

    const summaryContext = "Avoid jargon, use correct grammar, focus on clarity," +
    "and ensure the user can grasp the articles purpose," +
    "without needing to open the original content.";

    const options = {
      sharedContext: summaryContext,
      type: 'teaser',
      format: 'plain-text',
      length: 'long',
    }

    if (availability === 'available') {
      const summarizer = await Summarizer.create(options);
      return await summarizer.summarize(text, {
        context: summaryContext
      })
    }
    // return the download of the Summarizer Model
    if(availability === 'downloadable'){
      return await Summarizer.create();
    }
  } catch (error) {
    //EN: "Error using the Summarizer API"
    cms_alert(ALERT_TYPE_ERROR, "Erro ao usar o Summarizer API.");
    console.error("Erro ao usar o Summarizer API:", error);
    return null
  }
}

इसके अलावा, Terra ने Translator API के साथ खास जानकारी देने वाले टूल का इस्तेमाल किया, ताकि वह पुर्तगाली भाषा के मूल लेख के टाइटल, सबटाइटल, और मुख्य हिस्से के टेक्स्ट का अनुवाद अंग्रेज़ी में कर सके. अनुवाद किए गए इस वर्शन को खास जानकारी जनरेट करने के लिए, Summarizer API प्रोसेस करता है. इसके बाद, इसे फिर से पॉर्चुगीज़ में अनुवाद किया जाता है. इससे यह पक्का होता है कि उपयोगकर्ता को, कम शब्दों में जानकारी देने वाला कॉन्टेंट, ऐप्लिकेशन की भाषा में मिले.

async function translateTextByBuiltInAI(text, sourceLanguage, targetLanguage) {
  if (!('translation' in self && 'createTranslator' in self.translation)) {
    return null
  }

  try {
    const translator = await Translator.create({
      sourceLanguage,
      targetLanguage,
    })
    return await translator.translate(text)
  } catch (error) {
    throw error
  }
}
const text = `Title: ${contentTitle};\n\n Sub-title: ${contentSubtitle};\n\n Article content: ${plainText}.`;

const canTranslate = await Translator.availability({
  sourceLanguage: 'pt',
  targetLanguage: 'en',
})

if (canTranslate !== 'available') {
  if (canTranslate === 'downloadable') {
    try {
      await Translator.create({
        sourceLanguage: 'pt',
        targetLanguage: 'en',
      })
      //EN: "Language download completed successfully."
      cms_alert(ALERT_TYPE_OK, "Download do idioma concluído com sucesso.");
    } catch (downloadError) {
      //EN: "Error downloading the language required for translation."
      cms_alert(ALERT_TYPE_ERROR, "Erro ao realizar download do idioma necessário para tradução.");
      return
    }
  } else {
    //EN: "Translation is not available or not ready."
    cms_alert(ALERT_TYPE_ERROR, "A tradução não está disponível ou não está pronta.");
    return
  }
}

const translatedText = await translateTextByBuiltInAI(text, 'pt', 'en') 
const summarizedText = await summarizerByBuiltInAI(translatedText) 
const translatedBackText = await translateTextByBuiltInAI(summarizedText, 'en', 'pt')

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

सबसे सही तरीके

अगर समीक्षा के इनपुट में टोकन की तय सीमा से ज़्यादा टोकन इस्तेमाल किए गए हैं, तो इन तरीकों से समस्या को हल करें:

  • एपीआई के लिए, छोटे सैंपल (जैसे, सबसे हाल की चार समीक्षाएं) का इस्तेमाल करें. इससे, तेज़ी से नतीजे जनरेट करने में मदद मिलती है. क्लाइंट-साइड पर खास जानकारी देने की सुविधा को स्केल करने के बारे में हमारा दिशा-निर्देश देखें.
  • QuotaExceededError, इनपुट में अनुरोध किए गए टोकन के बारे में ज़्यादा जानकारी देता है. summarizer ऑब्जेक्ट में inputQuota प्रॉपर्टी होती है, जो एपीआई के टोकन की सीमा दिखाती है. इससे रीयल-टाइम में फ़ीडबैक मिलता है. साथ ही, अगर इनपुट तय सीमा से ज़्यादा हो जाता है, तो सुविधा बंद हो जाती है.

सभी उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, हाइब्रिड तरीके का इस्तेमाल किया जा सकता है. जब पहली बार किसी पहले से मौजूद एआई एपीआई को कॉल किया जाता है, तो ब्राउज़र को मॉडल डाउनलोड करना होगा.

  • Miravia ने मॉडल डाउनलोड होने के दौरान, शुरुआती खास जानकारी देने के लिए, सर्वर-साइड मॉडल का इस्तेमाल किया. पहले से मौजूद मॉडल तैयार होने के बाद, साइट ने क्लाइंट-साइड पर अनुमान लगाने की सुविधा चालू कर दी.

आपको हमेशा ऐसा इंटरफ़ेस बनाना चाहिए जो उपयोगकर्ता के लिए आसान हो और जिसमें जानकारी आसानी से मिलती हो:

  • मॉडल डाउनलोड करने और जवाब मिलने में लगने वाले समय को कम करने के लिए, प्रोग्रेस बार लागू करें.
  • मॉडल डाउनलोड करने के बारे में साफ़ तौर पर बताएं. Bright Sites ने उपयोगकर्ताओं को मॉडल डाउनलोड करने के बारे में सूचना दी, ताकि संसाधन के इस्तेमाल के लिए पारदर्शिता और सहमति मिल सके. इस तरह, उपयोगकर्ता आगे बढ़ने से पहले, स्वीकार या अस्वीकार कर सकते हैं.

नतीजे और सुझाव

Bright Sites और Terra के उदाहरणों से पता चलता है कि कॉन्टेंट को ऐक्सेस करने और पाठकों की दिलचस्पी बढ़ाने के लिए, Summarizer API की अहमियत क्या है. इस क्लाइंट-साइड एपीआई का इस्तेमाल करके, इन प्लैटफ़ॉर्म ने पढ़ने का अनुभव और उपयोगकर्ताओं के हिसाब से कॉन्टेंट को बेहतर बनाया. इसके लिए, कारोबार को कोई अतिरिक्त शुल्क नहीं देना पड़ा और डेटा को मैनेज करना भी आसान हो गया. Summarizer API की तरह ही, पहले से मौजूद सभी एआई एपीआई, क्लाइंट-साइड एआई को चालू करते हैं.

क्या आपको यह जानना है कि Summarizer API, इस्तेमाल के अन्य उदाहरणों में कैसे मदद कर सकता है? हमने यह भी बताया है कि Summarizer API, redBus और Miravia को उपयोगकर्ता की समीक्षाओं की खास जानकारी बनाने में कैसे मदद करता है.

क्या इन एपीआई की मदद से, कुछ नया बनाया जा रहा है? इसे X पर@ChromiumDev या LinkedIn पर Chromium for Developers पर शेयर करें.

संसाधन

Acknowledgements

इस दस्तावेज़ को लिखने और उसकी समीक्षा करने में मदद करने के लिए, Terra के गिलर्मे मोसर और फ़र्नांडो फ़िशर, CWI के अलीने सोज़ा, ब्रायन अल्फ़र्ड, केवल पटेल, जैक रिले, और Brightsites की इंजीनियरिंग टीम, स्वेता गोपालकृष्णन, एलेक्सैंड्रा क्लेपर, थॉमस स्टाइनर, और केंजी बहेउस का धन्यवाद.