उपयोगकर्ता के डिवाइस पर मौजूद वेब एआई (AI) की मदद से, प्रॉडक्ट की काम की समीक्षाओं को बढ़ावा देना

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

अच्छी और खराब समीक्षाएं, खरीदार को खरीदारी के फ़ैसले के बारे में बता सकती हैं.

बाहरी रिसर्च के मुताबिक, ऑनलाइन खरीदारी करने वाले 82% लोग खरीदारी करने से पहले नकारात्मक समीक्षाएं खोजते हैं. ये नकारात्मक समीक्षाएं, ग्राहकों और कारोबारों के लिए मददगार होती हैं. ऐसा इसलिए, क्योंकि खराब समीक्षाएं होने से लौटाए गए सामान की दर कम करने में मदद मिल सकती है. साथ ही, प्रॉडक्ट को बेहतर बनाने में भी मदद मिल सकती है.

समीक्षा की क्वालिटी को बेहतर बनाने के लिए, यहां कुछ तरीके दिए गए हैं:

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

आखिरकार, उपयोगकर्ता को प्रॉडक्ट रेटिंग के बारे में आखिरी बात बतानी चाहिए.

नीचे दिया गया कोडलैब, डिवाइस पर ब्राउज़र में समाधान देता है. इसके लिए, एआई (AI) की जानकारी, सर्वर या एपीआई पासकोड की ज़रूरत नहीं होती.

ज़रूरी शर्तें

सर्वर साइड एआई (जैसे, Gemini API या OpenAI API) कई ऐप्लिकेशन के लिए बेहतर समाधान उपलब्ध कराता है. इस गाइड में, हम डिवाइस पर उपलब्ध वेब एआई (AI) पर फ़ोकस करते हैं. डिवाइस पर वेब एआई (AI) मॉडल तब काम करता है, जब ब्राउज़र में एआई मॉडल चलते हैं. इसकी मदद से, सर्वर की राउंडट्रिप के बिना, वेब उपयोगकर्ताओं के अनुभव को बेहतर बनाया जाता है.

इस कोडलैब में, हम अलग-अलग तकनीकों का इस्तेमाल करके आपको यह दिखाएंगे कि डिवाइस पर वेब एआई (AI) के लिए आपके टूलबॉक्स में क्या है.

हम इन लाइब्रेरी और मॉडल का इस्तेमाल करते हैं:

  • बुरे बर्ताव का विश्लेषण करने के लिए, TensforFlow.js का इस्तेमाल करना. TensorFlow.js, एक ओपन सोर्स मशीन लर्निंग लाइब्रेरी है. इसे वेब पर अनुमान और ट्रेनिंग, दोनों के लिए इस्तेमाल किया जाता है.
  • transformers.js का इस्तेमाल करें. Transformers.js, Hugging Face की एक वेब एआई लाइब्रेरी है.
  • स्टार रेटिंग के लिए Gemma 2B. जेम्मा, हल्के और खुले मॉडल का एक फ़ैमिली ग्रुप है. इन्हें रिसर्च और टेक्नोलॉजी से बनाया गया है, जिसका इस्तेमाल Google ने Gemini मॉडल बनाने के लिए किया है. ब्राउज़र में Gemma चलाने के लिए, हम इसका इस्तेमाल MediaPipe के एक्सपेरिमेंटल LLM Infrence API के साथ करते हैं.

उपयोगकर्ता अनुभव और सुरक्षा से जुड़ी बातें

बेहतर उपयोगकर्ता अनुभव और सुरक्षा को पक्का करने के लिए यहां कुछ बातें ध्यान में रखी गई हैं:

  • उपयोगकर्ता को रेटिंग में बदलाव करने की अनुमति दें. आखिरकार, उपयोगकर्ता के पास प्रॉडक्ट रेटिंग पर आखिरी शब्द होना चाहिए.
  • उपयोगकर्ता को साफ़ तौर पर बताएं कि रेटिंग और समीक्षाएं अपने-आप तैयार होती हैं.
  • उपयोगकर्ताओं को बुरे बर्ताव वाली समीक्षा पोस्ट करने की अनुमति दें, लेकिन सर्वर पर दूसरी जांच करें. इससे उन्हें निराश नहीं होते, क्योंकि बुरे बर्ताव वाली समीक्षा को गलती से बुरे बर्ताव वाली समीक्षा (फ़ॉल्स पॉज़िटिव) की कैटगरी में डाल दिया जाता है. इसमें ऐसे मामले भी शामिल हैं जहां नुकसान पहुंचाने वाला उपयोगकर्ता, क्लाइंट-साइड की जांच से बचने की कोशिश करता है.
  • बुरे बर्ताव की क्लाइंट-साइड की जांच से मदद मिलती है, लेकिन इसे बायपास किया जा सकता है. पक्का करें कि आप जांच सर्वर-साइड भी चलाएं.

TensorFlow.js की मदद से, बुरे बर्ताव का विश्लेषण करना

TensorFlow.js की मदद से, उपयोगकर्ता की समीक्षा के बुरे बर्ताव का विश्लेषण तुरंत शुरू किया जा सकता है.

  1. TensorFlow.js लाइब्रेरी और टॉक्सिटी मॉडल को इंस्टॉल करें और import.
  2. अनुमान के लिए कम से कम कॉन्फ़िडेंस लेवल सेट करें. डिफ़ॉल्ट 0.85 है और हमारे उदाहरण में, हमने इसे 0.9 पर सेट किया है.
  3. मॉडल को एसिंक्रोनस रूप से लोड करें.
  4. समीक्षा को एसिंक्रोनस रूप से वर्गीकृत करें. हमारा कोड किसी भी कैटगरी के लिए, 0.9 के थ्रेशोल्ड को पार करने वाले अनुमानों की पहचान करता है.

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

उदाहरण के लिए:

import * as toxicity from '@tensorflow-models/toxicity';

// Minimum prediction confidence allowed
const TOXICITY_COMMENT_THRESHOLD = 0.9;

const toxicityModel = await toxicity.load(TOXICITY_COMMENT_THRESHOLD);
const toxicityPredictions = await toxicityModel.classify([review]);
// `predictions` is an array with the raw toxicity probabilities
const isToxic = toxicityPredictions.some(
    (prediction) => prediction.results[0].match
);

Transformers.js की मदद से भावनाओं का पता लगाएं

  1. इंस्टॉल करें और Transformers.js लाइब्रेरी को इंपोर्ट करें.

  2. किसी खास पाइपलाइन की मदद से, भावनाओं का विश्लेषण करने वाला टास्क सेट अप करें. जब किसी पाइपलाइन का पहली बार इस्तेमाल किया जाता है, तो मॉडल को डाउनलोड और कैश मेमोरी में सेव किया जाता है. इसके बाद से, भावनाओं का विश्लेषण ज़्यादा तेज़ हो जाएगा.

  3. समीक्षा को एसिंक्रोनस रूप से वर्गीकृत करें. कस्टम थ्रेशोल्ड का इस्तेमाल करके, कॉन्फ़िडेंस का वह लेवल सेट करें जिसका इस्तेमाल आपके ऐप्लिकेशन के लिए किया जा सकता है.

उदाहरण के लिए:

import { pipeline } from '@xenova/transformers';

const SENTIMENT_THRESHOLD = 0.9;
// Create a pipeline (don't block rendering on this function)
const transformersjsClassifierSentiment = await pipeline(
  'sentiment-analysis'
);

// When the user finishes typing
const sentimentResult = await transformersjsClassifierSentiment(review);
const { label, score } = sentimentResult[0];
if (score > SENTIMENT_THRESHOLD) {
  // The sentiment is `label`
} else {
  // Classification is not conclusive
}

Gemma और MediaPipe की मदद से स्टार रेटिंग का सुझाव दें

एलएलएम इंफ़रेंस एपीआई की मदद से, ब्राउज़र पर बड़े लैंग्वेज मॉडल (एलएलएम) चलाए जा सकते हैं.

एलएलएम की मेमोरी और कंप्यूट डिमांड को ध्यान में रखते हुए, यह नई क्षमता खास तौर पर पूरी तरह बदल गई है. ये एलएलएम, डिवाइस पर मौजूद पारंपरिक मॉडल के मुकाबले सौ गुना ज़्यादा ज़्यादा हैं. डिवाइस पर मौजूद स्टैक में ऑप्टिमाइज़ेशन से यह संभव हो पाता है. इनमें नए ऑपरेशन, क्वांटाइज़ेशन, कैश मेमोरी, और वेट शेयरिंग शामिल हैं. सोर्स: "MediaPipe और TensorFlow Lite के साथ डिवाइस पर बड़े लैंग्वेज मॉडल".

  1. MediaPipe LLM अनुमान API को इंस्टॉल और इंपोर्ट करें.
  2. मॉडल डाउनलोड करें. यहां हम Gemma 2B का इस्तेमाल करते हैं, जिसे Kaggle से डाउनलोड किया गया है. Gemma 2B, Google के ओपन-वेट मॉडल में से सबसे छोटा मॉडल है.
  3. कोड को FilesetResolver का इस्तेमाल करके, सही मॉडल फ़ाइलों पर ले जाएं. यह ज़रूरी है, क्योंकि जनरेटिव एआई मॉडल की ऐसेट के लिए, एक खास डायरेक्ट्री स्ट्रक्चर हो सकता है.
  4. MediaPipe के एलएलएम इंटरफ़ेस के साथ मॉडल को लोड और कॉन्फ़िगर करें. मॉडल को इस्तेमाल करने के लिए तैयार करें: मॉडल की जगह की जानकारी, जवाबों की पसंदीदा लंबाई, और तापमान के साथ क्रिएटिविटी का पसंदीदा लेवल बताएं.
  5. मॉडल को कोई प्रॉम्प्ट दें (उदाहरण देखें).
  6. मॉडल के जवाब की इंतज़ार करें.
  7. रेटिंग के लिए पार्स करें: मॉडल के जवाब से स्टार रेटिंग निकालें.
import { FilesetResolver, LlmInference } from '@mediapipe/tasks-genai';

const mediaPipeGenAi = await FilesetResolver.forGenAiTasks();
const llmInference = await LlmInference.createFromOptions(mediaPipeGenAi, {
    baseOptions: {
        modelAssetPath: '/gemma-2b-it-gpu-int4.bin',
    },
    maxTokens: 1000,
    topK: 40,
    temperature: 0.5,
    randomSeed: 101,
});

const prompt = …
const output = await llmInference.generateResponse(prompt);

const int = /\d/;
const ratingAsString = output.match(int)[0];
rating = parseInt(ratingAsString);

प्रॉम्प्ट का उदाहरण

const prompt = `Analyze a product review, and then based on your analysis give me the
corresponding rating (integer). The rating should be an integer between 1 and 5.
1 is the worst rating, and 5 is the best rating. A strongly dissatisfied review
that only mentions issues should have a rating of 1 (worst). A strongly
satisfied review that only mentions positives and upsides should have a rating
of 5 (best). Be opinionated. Use the full range of possible ratings (1 to 5). \n\n
  \n\n
  Here are some examples of reviews and their corresponding analyses and ratings:
  \n\n
  Review: 'Stylish and functional. Not sure how it'll handle rugged outdoor use, but it's perfect for urban exploring.'
  Analysis: The reviewer appreciates the product's style and basic functionality. They express some uncertainty about its ruggedness but overall find it suitable for their intended use, resulting in a positive, but not top-tier rating.
  Rating (integer): 4
  \n\n
  Review: 'It's a solid backpack at a decent price. Does the job, but nothing particularly amazing about it.'
  Analysis: This reflects an average opinion. The backpack is functional and fulfills its essential purpose. However, the reviewer finds it unremarkable and lacking any standout features deserving of higher praise.
  Rating (integer): 3
  \n\n
  Review: 'The waist belt broke on my first trip! Customer service was unresponsive too. Would not recommend.'
  Analysis: A serious product defect and poor customer service experience naturally warrants the lowest possible rating. The reviewer is extremely unsatisfied with both the product and the company.
  Rating (integer): 1
  \n\n
  Review: 'Love how many pockets and compartments it has. Keeps everything organized on long trips. Durable too!'
  Analysis: The enthusiastic review highlights specific features the user loves (organization and durability), indicating great satisfaction with the product. This justifies the highest rating.
  Rating (integer): 5
  \n\n
  Review: 'The straps are a bit flimsy, and they started digging into my shoulders under heavy loads.'
  Analysis: While not a totally negative review, a significant comfort issue leads the reviewer to rate the product poorly. The straps are a key component of a backpack, and their failure to perform well under load is a major flaw.
  Rating (integer): 1
  \n\n
  Now, here is the review you need to assess:
  \n
  Review: "${review}" \n`;

टेकअवे

इसके लिए, एआई (AI) या मशीन लर्निंग (एमएल) की विशेषज्ञता की ज़रूरत नहीं है. प्रॉम्प्ट डिज़ाइन करने के लिए कई बार चीज़ों की ज़रूरत होती है, लेकिन बाकी कोड, स्टैंडर्ड वेब डेवलपमेंट होता है.

डिवाइस पर मौजूद मॉडल काफ़ी सटीक होते हैं. अगर इस दस्तावेज़ के स्निपेट चलाए जाते हैं, तो देखें कि बुरे बर्ताव और भावनाओं के विश्लेषण से सटीक नतीजे मिलते हैं. ज़्यादातर मामलों में Gemma रेटिंग, जांची गई कुछ रेफ़रंस समीक्षाओं के लिए Gemini मॉडल रेटिंग से मेल खाती हैं. इसके सटीक होने की पुष्टि करने के लिए, ज़्यादा टेस्टिंग की ज़रूरत होती है.

हालांकि, Gemma 2B के लिए प्रॉम्प्ट डिज़ाइन करने में काफ़ी मेहनत लगती है. Gemma 2B एक छोटा एलएलएम है. इसलिए, इसे बेहतर नतीजे देने के लिए ज़्यादा जानकारी की ज़रूरत होती है. यह Gemini API की ज़रूरत से ज़्यादा खास तौर पर ज़्यादा जानकारी उपलब्ध कराता है.

अनुमान बहुत तेज़ी से लिया जा सकता है. अगर इस दस्तावेज़ से स्निपेट चलाया जाता है, तो आपको यह ध्यान रखना होगा कि कई डिवाइसों पर अनुमान, सर्वर राउंड ट्रिप के मुकाबले तेज़ी से और तेज़ी से मिल सकता है. हालांकि, अनुमान की रफ़्तार बहुत अलग हो सकती है. लक्षित डिवाइस पर सही मानदंड की आवश्यकता है. हम उम्मीद करते हैं कि वेब जीपीयू, WebAssembly, और लाइब्रेरी अपडेट की मदद से डिवाइस पर मौजूद अनुमान तेज़ी से काम करते रहेंगे. उदाहरण के लिए, Transformers.js ने v3 में वेब जीपीयू की सुविधा जोड़ी है. इससे डिवाइस पर मौजूद अनुमान की स्पीड कई गुना बढ़ सकती है.

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

Tensorflow का टॉक्सिटी मॉडल (क्लासिक नैचुरल लैंग्वेज प्रोसेसिंग मॉडल) सिर्फ़ कुछ ही किलोबाइट का है, लेकिन Transformers.js का डिफ़ॉल्ट सेंटिमेंट ऐनलिसिस मॉडल जैसे जनरेटिव एआई मॉडल का साइज़ 60 एमबी है. जेम्मा जैसे बड़े लैंग्वेज मॉडल का साइज़ 1.3 जीबी तक हो सकता है. यह साइज़ मीडियन 2.2 एमबी वेब पेज के साइज़ से ज़्यादा है. यह अब तक की बेहतरीन परफ़ॉर्मेंस के लिए सुझाए गए साइज़ से काफ़ी बड़ा है. कुछ खास मामलों में, डिवाइस पर मौजूद जनरेटिव एआई का इस्तेमाल किया जा सकता है.

वेब पर जनरेटिव एआई का क्षेत्र तेज़ी से बदल रहा है! आने वाले समय में, वेब के लिए सही तरीके से काम करने वाले छोटे मॉडल उपलब्ध हो सकते हैं.

अगले चरण

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