1. खास जानकारी
आज के समय में, रीटेल इंडस्ट्री में तेज़ी से बदलाव हो रहे हैं. ऐसे में, ग्राहकों को उनकी पसंद के हिसाब से खरीदारी का अनुभव देने के साथ-साथ, उन्हें बेहतरीन ग्राहक सेवा देना बहुत ज़रूरी है. हम आपको तकनीकी जानकारी देंगे. इसमें, नॉलेज-ड्रिवन चैट ऐप्लिकेशन बनाने के बारे में बताया जाएगा. इस ऐप्लिकेशन को खरीदारों के सवालों के जवाब देने, प्रॉडक्ट खोजने में उनकी मदद करने, और खोज के नतीजों को उनकी पसंद के मुताबिक बनाने के लिए डिज़ाइन किया गया है. इस इनोवेटिव समाधान में, डेटा स्टोरेज के लिए AlloyDB, कॉन्टेक्स्ट को समझने के लिए इन-हाउस ऐनलिटिक्स इंजन, काम की जानकारी की पुष्टि करने के लिए Gemini (लार्ज लैंग्वेज मॉडल), और तेज़ी से एक इंटेलिजेंट बातचीत करने वाला असिस्टेंट बनाने के लिए Google का Agent Builder शामिल है.
चुनौती: आज के खुदरा खरीदार, तुरंत जवाब और प्रॉडक्ट के ऐसे सुझाव चाहते हैं जो उनकी खास प्राथमिकताओं के मुताबिक हों. खोज के पुराने तरीकों से, अक्सर इस तरह के मनमुताबिक नतीजे नहीं मिलते.
समाधान: हमारा चैट ऐप्लिकेशन, इस चुनौती का सामना करने में आपकी मदद करता है. यह आपके खुदरा कारोबार के डेटा से मिली जानकारी का इस्तेमाल करता है. इससे खरीदार की दिलचस्पी को समझने, स्मार्ट तरीके से जवाब देने, और काम के नतीजे देने में मदद मिलती है.
आपको क्या बनाना है
इस लैब (भाग 2) में, आपको ये काम करने होंगे:
- Vertex AI Agent Builder एजेंट बनाना
- AlloyDB टूल को एजेंट के साथ इंटिग्रेट करना
ज़रूरी शर्तें
2. आर्किटेक्चर
डेटा फ़्लो: आइए, इस बारे में ज़्यादा जानें कि हमारे सिस्टम में डेटा कैसे ट्रांसफ़र होता है:
डेटा डालना:
AlloyDB में खुदरा कारोबार का डेटा (इन्वेंट्री, प्रॉडक्ट के ब्यौरे, खरीदारों की गतिविधियां) लगातार लोड होता रहता है.
Analytics Engine:
हम AlloyDB का इस्तेमाल, आंकड़ों के विश्लेषण वाले इंजन के तौर पर करेंगे. इससे ये काम किए जा सकेंगे:
- कॉन्टेक्स्ट एक्सट्रैक्शन: इंजन, AlloyDB में सेव किए गए डेटा का विश्लेषण करता है. इससे उसे प्रॉडक्ट, कैटगरी, खरीदार के व्यवहार वगैरह के बीच के संबंधों को समझने में मदद मिलती है.
- एम्बेडिंग बनाना: उपयोगकर्ता की क्वेरी और AlloyDB में सेव की गई जानकारी, दोनों के लिए एम्बेडिंग (टेक्स्ट का गणितीय प्रतिनिधित्व) जनरेट की जाती हैं.
- वेक्टर सर्च: यह इंजन, मिलती-जुलती चीज़ों को खोजने की सुविधा देता है. इसके लिए, यह क्वेरी एम्बेडिंग की तुलना, प्रॉडक्ट के ब्यौरे, समीक्षाओं, और अन्य काम के डेटा की एम्बेडिंग से करता है. इससे, सबसे मिलते-जुलते 25 "सबसे नज़दीकी पड़ोसी" की पहचान होती है.
Gemini की पुष्टि:
इन संभावित जवाबों को Gemini के पास आकलन के लिए भेजा जाता है. Gemini यह तय करता है कि ये जवाब, उपयोगकर्ता के लिए वाकई काम के हैं या नहीं. साथ ही, यह भी कि इन्हें उपयोगकर्ता के साथ शेयर करना सुरक्षित है या नहीं.
जवाब जनरेट करने की सुविधा:
पुष्टि किए गए जवाबों को JSON ऐरे में स्ट्रक्चर किया जाता है. साथ ही, पूरे इंजन को सर्वरलेस Cloud Run फ़ंक्शन में पैकेज किया जाता है. इसे Agent Builder से शुरू किया जाता है.
ऊपर दिए गए चरण, लैब के पहले हिस्से में पहले ही शामिल किए जा चुके हैं.
हमने एक ऐसे तकनीकी इंजन को बनाने के बारे में बात की जो जानकारी के आधार पर काम करता है. यह इंजन, हमारी स्मार्ट शॉपिंग असिस्टेंट को बेहतर बनाता है. अब, आइए जानते हैं कि हम एजेंट बिल्डर की मदद से, इस इंजन को बातचीत वाले इंटरफ़ेस में कैसे लाते हैं. पक्का करें कि आपके पास दूसरे हिस्से को शुरू करने से पहले, एंडपॉइंट यूआरएल तैयार हो. इस लैब में, हम इस अगले चरण के बारे में जानेंगे:
बातचीत वाला इंटरैक्शन:
Agent Builder, उपयोगकर्ता को सामान्य भाषा में जवाब देता है, जिससे बातचीत को आगे बढ़ाया जा सकता है.
3. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें .
- आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है. इसमें bq पहले से लोड होता है. Google Cloud Console में सबसे ऊपर मौजूद, Cloud Shell चालू करें पर क्लिक करें.

- Cloud Shell से कनेक्ट होने के बाद, यह देखने के लिए कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट किया गया है, इस कमांड का इस्तेमाल करें:
gcloud auth list
- यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
- ज़रूरी एपीआई चालू करें. gcloud कमांड के बजाय, कंसोल का इस्तेमाल करके भी ऐसा किया जा सकता है. इसके लिए, हर प्रॉडक्ट को खोजें या इस लिंक का इस्तेमाल करें.
अगर कोई एपीआई छूट जाता है, तो उसे लागू करने के दौरान कभी भी चालू किया जा सकता है.
gcloud कमांड और उनके इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.
अहम जानकारी: इसे पूरा करने के लिए, पक्का करें कि आपने लैब का पहला हिस्सा पूरा कर लिया हो.
4. एजेंट बनाना
पेश है Agent Builder
Agent Builder एक पावरफ़ुल टूल है, जो कम कोड के साथ काम करता है. इसकी मदद से, हम बातचीत करने वाले एजेंट को तेज़ी से और बेहतर तरीके से बना सकते हैं. इससे डायलॉग फ़्लो डिज़ाइन करने, नॉलेज बेस इंटिग्रेट करने, और बाहरी एपीआई से कनेक्ट करने की प्रोसेस आसान हो जाती है. इस मामले में, हम Agent Builder का इस्तेमाल करके, पहले पार्ट में बनाए गए Cloud Function एंडपॉइंट से आसानी से कनेक्ट करेंगे. इससे हमारी शॉपिंग असिस्टेंट, खुदरा कारोबार से जुड़ी हमारी नॉलेज बेस को ऐक्सेस कर पाएगी और ग्राहकों की क्वेरी के जवाब बेहतर तरीके से दे पाएगी.
एजेंट बनाना
आइए, कपड़ों के प्रॉडक्ट के बारे में लोगों के सवालों के जवाब देने के लिए, यह नया एजेंट बनाना शुरू करें.
- सबसे पहले, Agent Builder प्लैटफ़ॉर्म में लॉग इन करें. अगर आपको एपीआई चालू करने के लिए कहा जाता है, तो जारी रखें और एपीआई चालू करें पर क्लिक करें.
- "ऐप्लिकेशन बनाएं" पर क्लिक करें और अपने एजेंट को जानकारी देने वाला नाम दें. उदाहरण के लिए, "खुदरा खरीदारी में मदद करने वाला एजेंट".
- ऐप्लिकेशन टाइप "एजेंट" पर क्लिक करें.

- . अपने एजेंट को "Retail Shopping Assistant" जैसा जानकारी देने वाला नाम दें और क्षेत्र को us-central1 के तौर पर सेट करें

- एजेंट की जानकारी डालें:
- एजेंट का नाम बदलकर "Retail Shopping Agent" करें.
- नीचे दिया गया "लक्ष्य" जोड़ें:
You are a shopping assistant agent! Your job is to help the customer search for their ideal apparels, allow them to add items to their cart, remove items from their cart, and review items in their cart. Once a user is done searching, open the search results in a user friendly html page.

- इसे अभी सेव करें और निर्देशों को फ़िलहाल खाली छोड़ दें.
- इसके बाद, नेविगेशन मेन्यू में जाकर टूल पर क्लिक करें और बनाएं पर क्लिक करें.

टूल का नाम डालें: खुदरा शॉपिंग टूल
टूल के बारे में जानकारी डालें:
This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.
वाईएएमएल फ़ॉर्मैट में OpenAPI स्कीमा डालें:
इस हिस्से में, हम एजेंट को बेहतर बनाने के लिए बैकएंड एंडपॉइंट का इस्तेमाल कर रहे हैं. नीचे दिए गए OpenAPI स्पेसिफ़िकेशन को कॉपी करें. इसके बाद, यूआरएल प्लेसहोल्डर को बदलें (ऐंगल ब्रैकेट में दिया गया) और उसकी जगह अपना Cloud Functions एंडपॉइंट डालें:
openapi: 3.0.0
info:
title: AlloyDB Product Matcher
description: A Cloud Function to query AlloyDB for product matches based on user search text.
version: 1.0.0
servers:
- url: <<https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/alloy-gem>>
paths:
/:
post:
summary: Find matching products based on search text.
operationId: apparelSearch
requestBody:
description: JSON object containing the search text.
required: true
content:
application/json:
schema:
type: object
properties:
search:
type: string
description: The user's search query for product matching.
responses:
'200':
description: Successful response with a JSON array of matching products.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: Product ID.
category:
type: string
description: Product category.
sub_category:
type: string
description: Product sub-category.
uri:
type: string
description: Product URI or URL.
description:
type: string
description: Product description.
literature:
type: object
description: JSON object containing match information from the ML model.
properties:
MATCH:
type: string
description: Whether the product matches the search query (YES/NO).
PERCENTAGE:
type: string
description: Percentage of match.
DIFFERENCE:
type: string
description: Description of differences between the search and product.
'500':
description: Internal server error.
अन्य कॉन्फ़िगरेशन को उनकी डिफ़ॉल्ट वैल्यू पर छोड़ दें और "सेव करें" पर क्लिक करें.
- इस पॉइंट पर एजेंट पर वापस जाएं, क्योंकि हमें एजेंट के "निर्देश" में "टूल" कॉन्फ़िगरेशन जोड़ना है. नीचे दिए गए निर्देशों को निर्देशों के प्लेसहोल्डर में जोड़ें. ध्यान रखें कि इंडेंट, फ़्लो तय करने के लिए ज़रूरी होते हैं:
- Greet the user and answer their question to the best of your knowledge.
- Summarize the user's request and ask them to confirm that you understood correctly.
- Check if the request has details like gender, color, material, style and other key apparel details already.
- If not, seek clarifying details.
- If the search request is very broad, then ask the user to narrow down the request with specific details that you believe could be personal preferences.
- Once all the necessary details are met, summarize your final understanding of the request with the user.
- Use ${TOOL: Retail Shopping Tool} to help the user with their task.
- If the request has unrelated input text, gracefully convey that you don't have information on that topic.
- Do not give product availability information outside the source that is provided to you in ${TOOL: Retail Shopping Tool}.
- Do not assist with any information unless you are certain that you know the answer and it is grounded in the source of truth.
- Thank the user for their business and say goodbye.
पक्का करें कि "उपलब्ध टूल" सेक्शन में, "रीटेल शॉपिंग टूल" चुना गया हो. इसके बाद, एजेंट को फिर से सेव करें.
5. एजेंट को टेस्ट करना
दाईं ओर के पैनल में, आपको 'एजेंट की झलक देखें' सेक्शन दिखेगा. इसकी मदद से, अपने एजेंट को टेस्ट किया जा सकता है.
नीचे दिए गए स्क्रीनशॉट में देखा जा सकता है कि मैंने उपयोगकर्ता के तौर पर चैट शुरू की है. मैंने नीले प्रिंट वाली सफ़ेद शर्ट के लिए अनुरोध किया है:

यह JSON रिस्पॉन्स है:

यह Cloud फ़ंक्शन से मिला रॉ JSON नतीजा है. यह फ़ंक्शन, AlloyDB Similarity Search को प्रोसेस करता है. हो गया! अब हम एजेंट से कनेक्ट हो गए हैं.
6. बातचीत के फ़्लो का सैंपल
इस चरण में, अपने डायलॉग (बातचीत) एजेंट के फ़्लो को टेस्ट किया जा सकता है और उसमें बदलाव किया जा सकता है:
User: I'm looking for women's boots for winter.
Agent: (OpenAPI call to Cloud Function that works with AlloyDB Similarity Search)
Cloud Function: (Processes query, returns JSON array)
Agent: Based on your preferences, here are some options: [Product 1, Product 2, Product 3]. Would you like to see more details about any of these?
User: No, That is all. Bye!
Agent: Have a good day!
उदाहरण के साथ डाले गए प्रॉम्प्ट
मान लें कि अब आपको बातचीत वाले एजेंट में, ग्राफ़िक फ़ॉर्मैट में नतीजे देखने हैं. इनमें तस्वीरें और लिंक शामिल हैं. हम बातचीत के उदाहरणों का इस्तेमाल करके ऐसा करेंगे. इन्हें फ़्यू शॉट प्रॉम्प्टिंग भी कहा जाता है.
इसका मतलब है कि हमें एजेंट बिल्डर में कुछ उदाहरण जोड़ने हैं, ताकि नतीजे का फ़ॉर्मैट एक जैसा हो.
"एजेंट को टेस्ट करें" सेक्शन में मौजूद हमारे पिछले स्क्रीनशॉट में, हमें एजेंट का जवाब "मुझे समझ आ गया. आपको नीले प्रिंट वाली सफ़ेद शर्ट चाहिए...". उस जवाब पर जाएं या एजेंट के दाईं ओर मौजूद पैनल से, टेस्ट के लिए नई बातचीत शुरू करें:
- "उपयोगकर्ता का इनपुट डालें" सेक्शन में, यह टाइप करें:

आपको इस तरह का जवाब दिखेगा:

साथ ही, आपको एपीआई एंडपॉइंट से मिला JSON ऐरे भी दिखेगा.
- अब झलक वाले सेक्शन के मार्जिन में मौजूद, एजेंट के नाम (नीचे दी गई इमेज में लाल रंग के सही के निशान से हाइलाइट किया गया है) पर क्लिक करें. इससे चैट की झलक वाले सेक्शन में मौजूद आपके सभी टैब हाइलाइट हो जाएंगे. अब झलक देखने वाले सेक्शन में, सबसे ऊपर दाएं कोने में मौजूद "उदाहरण सेव करें" पर क्लिक करें. यह कुछ ऐसा दिखाई देगा:

- डिसप्ले नेम "इमेज के साथ जवाब" या इससे मिलते-जुलते किसी नाम से बातचीत सेव करें. इसके बाद, "बनाएं" पर क्लिक करें.
- अब ऊपर दी गई इमेज में, काले रंग के सही के निशान से हाइलाइट किए गए जवाब वाले टैब पर जाएं. इसके बाद, "मुझे समझ आ गया. आपको पीले रंग के सैंडल चाहिए. क्या यह सही है?" के साथ यह जानकारी शामिल करें:
I see you are looking for yellow sandals. Here are a few options for you:
<!DOCTYPE html>
<html>
<body>
<h2>Featured Sandals</h2>
<table style="overflow-x: auto; white-space: nowrap;">
<tr>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/d27dbd8e9666b9af2d72fbfde315f76d_images.jpg" alt="Yellow sandals from Estd. 1977" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/b7a479fe5f56457e930541a789c5df68_images.jpg" alt="Yellow sandals from Gliders" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/b6c813734b29b89d1055fd000ea50743_images.jpg" alt="Yellow sandals from Rocia" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/ee0e918c229e76e0e7e61712e9d2ecb3_images.jpg" alt="Yellow flip flops from Numero Uno" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/5bdd4c9e739205e28ee134ff7849bc60_images.jpg" alt="Yellow flip flops from Numero Uno" width="300">
</td>
</tr>
</table>
</body>
</html>
- सबसे ऊपर मौजूद "सेव करें" पर क्लिक करें.
इस प्रोसेस को उतने उदाहरणों के लिए दोहराएं जितने आपको चाहिए. साथ ही, बातचीत के अलग-अलग तरीके और फ़्लो का इस्तेमाल करें.
अब उपयोगकर्ता के इनपुट के साथ इसे आज़माएं:

जवाब के कुछ अन्य टाइप:

हो गया. हमने अपने खुदरा कारोबार वाले ऐप्लिकेशन के लिए, बातचीत करने वाला एजेंट बनाया है और उसकी जांच कर ली है.
7. परिनियोजन और इंटिग्रेशन
जब आपको लगे कि आपका एजेंट तैयार है, तो Agent Builder के इंटिग्रेशन का इस्तेमाल करके, उसे अलग-अलग चैनलों पर आसानी से डिप्लॉय किया जा सकता है. इसे अपनी वेबसाइट पर एम्बेड किया जा सकता है. साथ ही, मैसेजिंग की सुविधा देने वाले लोकप्रिय प्लैटफ़ॉर्म के साथ इंटिग्रेट किया जा सकता है. इसके अलावा, इसके लिए एक मोबाइल ऐप्लिकेशन भी बनाया जा सकता है. हम Agent Builder API को सीधे तौर पर अपने वेब क्लाइंट ऐप्लिकेशन में भी इस्तेमाल कर सकते हैं. इसके बारे में हमने इस ब्लॉग में बताया है.
8. व्यवस्थित करें
इस पोस्ट में इस्तेमाल की गई संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, यह तरीका अपनाएं:
- Google Cloud Console में, मैनेज करें
- संसाधन पेज पर जाएं.
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
9. बधाई हो
बधाई हो! हमने अपने कस्टम-बिल्ट ऐनलिटिक्स इंजन की क्षमता को Agent Builder के आसान इंटरफ़ेस के साथ इंटिग्रेट किया है. इससे हमने एक स्मार्ट रीटेल शॉपिंग असिस्टेंट बनाई है. यह लोगों को उनकी दिलचस्पी के हिसाब से अनुभव देती है, सवालों के सटीक जवाब देती है, और आखिर में खरीदारों को संतुष्ट करती है और बिक्री बढ़ाती है. AlloyDB, Vertex AI, और Vector Search की क्षमताओं को मिलाकर, हमने कॉन्टेक्स्ट और वेक्टर सर्च को ऐक्सेस करने में एक बड़ा बदलाव किया है. अब ये सुविधाएं ज़्यादा असरदार, बेहतर, और एजेंटिक एआई की मदद से काम करती हैं!