Google Chat, Vertex AI, और Firestore की मदद से प्रोजेक्ट मैनेज करें

इस ट्यूटोरियल में, Google Chat का ऐसा ऐप्लिकेशन बनाने का तरीका बताया गया है जिसका इस्तेमाल करके टीम, रीयल टाइम में प्रोजेक्ट मैनेज कर सकती है. Chat ऐप्लिकेशन, Vertex AI का इस्तेमाल करके टीमों को उपयोगकर्ता की कहानियां लिखने में मदद करता है. ये कहानियां, किसी सॉफ़्टवेयर सिस्टम की सुविधाओं को उपयोगकर्ता के नज़रिए से दिखाती हैं, ताकि टीम उन्हें डेवलप कर सके. साथ ही, ये कहानियां Firestore डेटाबेस में सेव की जाती हैं.

  • प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन का नाम बताने से, ऐप्लिकेशन मदद करने का अनुरोध करता है.
    पहली इमेज. चार्ली, अपनी टीम के साथ Chat स्पेस में किसी सुविधा के डेवलपमेंट के बारे में बातचीत कर रही हैं. प्रोजेक्ट मैनेजमेंट के बारे में बताने पर, Chat ऐप्लिकेशन आपकी मदद करने के लिए कहता है.
  • स्टोरी बनाने के लिए, /createUserStory स्लैश कमांड का इस्तेमाल करना.
    दूसरी इमेज. /createUserStory स्लैश कमांड का इस्तेमाल करके, चार्ली एक स्टोरी बनाते हैं.
  • प्रोजेक्ट मैनेज करने की सुविधा देने वाला Chat ऐप्लिकेशन, कहानी की जानकारी लिखने के लिए Vertex AI का इस्तेमाल करता है.
    तीसरी इमेज. प्रोजेक्ट मैनेजमेंट चैट ऐप्लिकेशन, कहानी का ब्यौरा लिखने के लिए Vertex AI का इस्तेमाल करता है. इसके बाद, वह कहानी को स्पेस में शेयर करता है.
  • चार्ली, कहानी की जानकारी को फ़ाइनल करता है.
    चौथी इमेज. चार्ली कहानी के विवरण को अंतिम रूप देने के लिए बदलाव करें पर क्लिक करता है. एआई की दी गई जानकारी सटीक है, लेकिन चार्ली को ज़्यादा जानकारी चाहिए. इसलिए, वह बड़ा करें पर क्लिक करती है, ताकि Vertex AI, कहानी के ब्यौरे में ज़रूरी शर्तें जोड़ सके. चार्ली खुद को कहानी असाइन करते हैं, स्टेटस को 'शुरू किया गया' पर सेट करते हैं, ज़रूरी प्राथमिकता और साइज़ चुनते हैं, और सेव करें पर क्लिक करते हैं.
  • टीम की सभी उपयोगकर्ता कहानियों को मैनेज करना.
    पांचवीं इमेज. चार्ली, /manageUserStories स्लैश कमांड का इस्तेमाल करके, किसी भी समय टीम की सभी उपयोगकर्ता स्टोरी को देखा और मैनेज किया जा सकता है.

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

मकसद

  • ऐसा Chat ऐप्लिकेशन बनाएं जो तेज़ी से काम करने वाले सॉफ़्टवेयर प्रोजेक्ट मैनेज करता हो.
  • Vertex AI की मदद से, जनरेटिव एआई के साथ काम करने वाले स्टोरी राइटिंग टूल का इस्तेमाल करके, उपयोगकर्ताओं को स्टोरी लिखने में मदद करें:
    • स्टोरी की जानकारी जनरेट करना और फिर से जनरेट करना.
    • ज़रूरी शर्तों को पूरा करने के लिए, नोट से लेकर स्टोरी के ब्यौरे वाले सेक्शन में जाएं.
    • टाइपिंग की गलतियां ठीक करने के लिए, व्याकरण में सुधार करें.
  • Firestore डेटाबेस में डेटा डालकर और उससे डेटा पढ़कर, अपने काम को अप-टू-डेट रखें.
  • चैट स्पेस में मिलकर काम करने की सुविधा. इससे उपयोगकर्ताओं को सीधे बातचीत से स्टोरी बनाने, उनमें बदलाव करने, उन्हें असाइन करने, और शुरू करने की सुविधा मिलती है.

इस्तेमाल किए गए प्रॉडक्ट

प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन, Google Workspace और Google Cloud के इन प्रॉडक्ट का इस्तेमाल करता है:

  • Chat API: Google Chat ऐप्लिकेशन बनाने के लिए एक एपीआई, जो मैसेज जैसे Chat इंटरैक्शन इवेंट को रिसीव और उनका जवाब देता है. प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन, Chat API का इस्तेमाल करता है. इससे, Chat से भेजे गए इंटरैक्शन इवेंट को पाने और उनका जवाब देने में मदद मिलती है. साथ ही, उन एट्रिब्यूट को कॉन्फ़िगर करने में भी मदद मिलती है जिनसे यह तय होता है कि Chat में यह ऐप्लिकेशन कैसा दिखेगा. जैसे, नाम और अवतार की इमेज.
  • Vertex AI API: जनरेटिव एआई प्लैटफ़ॉर्म. प्रोजेक्ट मैनेजमेंट Google Chat ऐप्लिकेशन, उपयोगकर्ता की कहानी के टाइटल और ब्यौरे लिखने के लिए Vertex AI API का इस्तेमाल करता है.
  • Firestore: बिना सर्वर वाला दस्तावेज़ डेटाबेस. प्रोजेक्ट मैनेजमेंट के लिए इस्तेमाल होने वाला Google Chat ऐप्लिकेशन, उपयोगकर्ता की कहानियों का डेटा सेव करने के लिए Firebase का इस्तेमाल करता है.
  • Cloud Functions: यह एक लाइटवाइट, सर्वरलेस कंप्यूट सेवा है. इसकी मदद से, एक ही काम के स्टैंडअलोन फ़ंक्शन बनाए जा सकते हैं. ये फ़ंक्शन, Chat इंटरैक्शन इवेंट का जवाब दे सकते हैं. इसके लिए, आपको सर्वर या रनटाइम एनवायरमेंट मैनेज करने की ज़रूरत नहीं है. प्रोजेक्ट मैनेजमेंट

    Cloud Functions, इंटरैक्शन इवेंट बनाने, प्रोसेस करने, और कंप्यूट संसाधनों को होस्ट करने के लिए, Google Cloud के इन प्रॉडक्ट का इस्तेमाल करता है:

    • Cloud Build: यह एक पूरी तरह से मैनेज किया जा रहा लगातार इंटिग्रेशन, डिलीवरी, और डिप्लॉयमेंट प्लैटफ़ॉर्म है, जो अपने-आप तैयार होने वाले बिल्ड चलाता है.
    • Pub/Sub: यह एक ऐसी मैसेज सेवा है जो एसिंक्रोनस (एक साथ काम न करने वाली) और स्केलेबल (ज़रूरत के हिसाब से बढ़ाने या घटाने की सुविधा वाली) होती है. यह उन सेवाओं को अलग करती है जो मैसेज जनरेट करती हैं और उन सेवाओं से जो मैसेज प्रोसेस करती हैं.
    • Cloud Run Admin API: कंटेनर में ऐप्लिकेशन चलाने के लिए, पूरी तरह से मैनेज किया गया एनवायरमेंट.

आर्किटेक्चर

प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन के आर्किटेक्चर में, एचटीटीपी एंडपॉइंट पर Chat इंटरैक्शन इवेंट मिलते हैं और उन्हें प्रोसेस किया जाता है. साथ ही, उपयोगकर्ता की कहानियां लिखने में मदद करने के लिए Vertex AI का इस्तेमाल किया जाता है. साथ ही, उपयोगकर्ता की कहानी की जानकारी को Firestore डेटाबेस में सेव किया जाता है. यहां दिए गए डायग्राम में, इस्तेमाल किए गए Google Workspace और Google Cloud के संसाधनों का आर्किटेक्चर दिखाया गया है.

प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन के आर्किटेक्चर का डायग्राम

प्रोजेक्ट मैनेजमेंट के लिए Google Chat ऐप्लिकेशन इस तरह काम करता है:

  1. इस इमेज में दिखाया गया है कि कोई उपयोगकर्ता Chat में मैसेज भेजकर, प्रोजेक्ट मैनेजमेंट वाले Google Chat ऐप्लिकेशन को शुरू कर रहा है. इसके लिए, उस उपयोगकर्ता को सीधे मैसेज भेजें, स्पेस में उसका नाम टैग करें या स्लैश कमांड डालें.

  2. Chat, Cloud फ़ंक्शन के एचटीटीपी एंडपॉइंट पर सिंक्रोनस एचटीटीपी अनुरोध भेजता है.

  3. प्रोजेक्ट मैनेज करने के लिए इस्तेमाल होने वाला Google Chat ऐप्लिकेशन, एचटीटीपी अनुरोध को प्रोसेस करता है:

    1. Vertex AI, उपयोगकर्ता की कहानी लिखने या अपडेट करने में मदद करता है.

    2. Firestore डेटाबेस, उपयोगकर्ता की कहानी का डेटा सेव करता है, उसे वापस लाता है, अपडेट करता है या मिटाता है.

  4. Cloud Functions, Chat को एचटीटीपी रिस्पॉन्स दिखाता है. यह रिस्पॉन्स, उपयोगकर्ता को मैसेज या डायलॉग के तौर पर दिखता है.

एनवायरमेंट तैयार करना

इस सेक्शन में, Chat ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट बनाने और उसे कॉन्फ़िगर करने का तरीका बताया गया है.

Google Cloud प्रोजेक्ट बनाना

Google Cloud कंसोल

  1. Google Cloud console में, मेन्यू > IAM और एडमिन > प्रोजेक्ट बनाएं पर जाएं.

    'प्रोजेक्ट बनाएं' पर जाएं

  2. प्रोजेक्ट का नाम फ़ील्ड में, अपने प्रोजेक्ट की जानकारी देने वाला नाम डालें.

    ज़रूरी नहीं: प्रोजेक्ट आईडी में बदलाव करने के लिए, बदलाव करें पर क्लिक करें. प्रोजेक्ट बनाने के बाद, उसका प्रोजेक्ट आईडी नहीं बदला जा सकता. इसलिए, ऐसा आईडी चुनें जो प्रोजेक्ट के लाइफ़टाइम के लिए आपकी ज़रूरतों को पूरा करता हो.

  3. जगह फ़ील्ड में, ब्राउज़ करें पर क्लिक करके अपने प्रोजेक्ट के लिए संभावित जगहें देखें. इसके बाद, चुनें पर क्लिक करें.
  4. बनाएं पर क्लिक करें. Google Cloud Console, डैशबोर्ड पेज पर ले जाता है और कुछ ही मिनटों में आपका प्रोजेक्ट बन जाता है.

gcloud सीएलआई

नीचे दिए गए डेवलपमेंट एनवायरमेंट में से किसी एक में, Google Cloud सीएलआई (gcloud) को ऐक्सेस करें:

  • Cloud Shell: पहले से सेट अप किए गए gcloud सीएलआई के साथ ऑनलाइन टर्मिनल का इस्तेमाल करने के लिए, Cloud Shell को चालू करें.
    Cloud Shell चालू करना
  • लोकल शेल: लोकल डेवलपमेंट एनवायरमेंट का इस्तेमाल करने के लिए, gcloud सीएलआई को इंस्टॉल करें और शुरू करें.
    Cloud प्रोजेक्ट बनाने के लिए, gcloud projects create कमांड का इस्तेमाल करें:
    gcloud projects create PROJECT_ID
    आपको जो प्रोजेक्ट बनाना है उसका आईडी सेट करके, PROJECT_ID को बदलें.

Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करना

Google Cloud कंसोल

  1. Google Cloud Console में, बिलिंग पर जाएं. मेन्यू > बिलिंग > मेरे प्रोजेक्ट पर क्लिक करें.

    'मेरे प्रोजेक्ट के लिए बिलिंग' पर जाएं

  2. कोई संगठन चुनें सेक्शन में जाकर, अपने Google Cloud प्रोजेक्ट से जुड़े संगठन को चुनें.
  3. प्रोजेक्ट की लाइन में, कार्रवाइयां मेन्यू () खोलें. इसके बाद, बिलिंग बदलें पर क्लिक करें और Cloud Billing खाता चुनें.
  4. खाता सेट करें पर क्लिक करें.

gcloud सीएलआई

  1. उपलब्ध बिलिंग खातों की सूची बनाने के लिए, यह चलाएं:
    gcloud billing accounts list
  2. किसी बिलिंग खाते को Google Cloud प्रोजेक्ट से लिंक करने के लिए:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    इन्हें बदलें:

    • PROJECT_ID, उस Cloud प्रोजेक्ट का प्रोजेक्ट आईडी है जिसके लिए आपको बिलिंग की सुविधा चालू करनी है.
    • BILLING_ACCOUNT_ID, Google Cloud प्रोजेक्ट से लिंक करने के लिए बिलिंग खाता आईडी है.

एपीआई चालू करना

Google Cloud कंसोल

  1. Google Cloud Console में, Google Chat API, Vertex AI API, Cloud Functions एपीआई, Firestore API, Cloud Build API, Pub/Sub एपीआई, और Cloud Run Admin API को चालू करें.

    एपीआई चालू करना

  2. पुष्टि करें कि एपीआई को सही Cloud प्रोजेक्ट में चालू किया जा रहा है. इसके बाद, आगे बढ़ें पर क्लिक करें.

  3. पुष्टि करें कि आपने सही एपीआई चालू किए हैं. इसके बाद, चालू करें पर क्लिक करें.

gcloud सीएलआई

  1. अगर ज़रूरी हो, तो मौजूदा क्लाउड प्रोजेक्ट को उस प्रोजेक्ट पर सेट करें जिसे आपने gcloud config set project कमांड का इस्तेमाल करके बनाया है:

    gcloud config set project PROJECT_ID

    PROJECT_ID की जगह, अपने बनाए गए Cloud प्रोजेक्ट का प्रोजेक्ट आईडी डालें.

  2. gcloud services enable कमांड का इस्तेमाल करके, Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, और Cloud Run एडमिन एपीआई को चालू करें:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    run.googleapis.com

    Cloud फ़ंक्शन के लिए Cloud Build, Pub/Sub, और Cloud Run Admin API ज़रूरी शर्तें हैं.

पुष्टि करना और अनुमति देना

इस ट्यूटोरियल को पूरा करने के लिए, पुष्टि करने और अनुमति देने की सुविधा को कॉन्फ़िगर करने की ज़रूरत नहीं है.

Firestore और Vertex AI API को कॉल करने के लिए, इस ट्यूटोरियल में Cloud Function से जुड़े डिफ़ॉल्ट सेवा खाते के साथ ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल किया गया है, जिसे सेट अप करने की आपको ज़रूरत नहीं है. प्रोडक्शन एनवायरमेंट के मामले में, आम तौर पर Cloud Function में सेवा खाता create होगा और अटैच करना होगा.

Google Chat ऐप्लिकेशन बनाना और डिप्लॉय करना

Google Cloud प्रोजेक्ट बनाने और कॉन्फ़िगर करने के बाद, Google Chat ऐप्लिकेशन को बनाया और डिप्लॉय किया जा सकता है. इस सेक्शन में, ये काम किए जाते हैं:

  1. Firestore डेटाबेस बनाएं, ताकि उपयोगकर्ता की कहानियों को सेव और वापस पाया जा सके.
  2. इसके अलावा, सैंपल कोड की समीक्षा भी की जा सकती है.
  3. Chat से एचटीटीपी अनुरोधों के तौर पर मिले इवेंट के रिस्पॉन्स के तौर पर, Chat ऐप्लिकेशन के कोड को होस्ट करने और चलाने के लिए Cloud Function बनाएं.
  4. Google Chat API के कॉन्फ़िगरेशन पेज पर, Google Chat ऐप्लिकेशन बनाएं और उसे डिप्लॉय करें.

Firestore डेटाबेस बनाना

इस सेक्शन में, उपयोगकर्ता की कहानियों को सेव करने और उन्हें वापस पाने के लिए, Firestore डेटाबेस बनाया जाता है. हालांकि, डेटा मॉडल तय नहीं किया जाता. डेटा मॉडल को model/user-story.js और model/user.js फ़ाइलों की मदद से, सीधे तौर पर सैंपल कोड में सेट किया जाता है.

प्रोजेक्ट मैनेजमेंट के Chat ऐप्लिकेशन का डेटाबेस, NoSQL डेटा मॉडल का इस्तेमाल करता है. यह मॉडल, कलेक्शन में व्यवस्थित किए गए दस्तावेज़ के आधार पर इस्तेमाल किया जाता है. ज़्यादा जानकारी के लिए, Firestore डेटा मॉडल लेख पढ़ें.

यहां दिए गए डायग्राम में, प्रोजेक्ट मैनेजमेंट और Google Chat ऐप्लिकेशन के डेटा मॉडल की खास जानकारी दी गई है:

Firestore डेटाबेस का डेटा मॉडल.

रूट कलेक्शन spaces है, जहां हर दस्तावेज़ उस स्पेस के बारे में बताता है जिसमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं. हर उपयोगकर्ता की स्टोरी को userStories सबकलेक्शन में एक दस्तावेज़ से दिखाया जाता है और हर उपयोगकर्ता को users सबकलेक्शन में कोई दस्तावेज़ दिखाता है.

कलेक्शन, दस्तावेज़, और फ़ील्ड की परिभाषाएं देखना

spaces

वे स्पेस जिनमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं.

फ़ील्ड
Document IDString
उस स्पेस का यूनीक आईडी जहां स्टोरी बनाई जाती हैं. यह Chat API में स्पेस के संसाधन के नाम से मेल खाता है.
userStoriesSubcollection of Documents (userStories)
Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई स्टोरीज़. यह Firebase में userStories के Document ID से मेल खाता है.
usersSubcollection of Documents (user)
वे उपयोगकर्ता जिन्होंने कहानियां बनाई हैं या जिन्हें कहानियां असाइन की गई हैं.
displayNameString
Chat API में स्पेस का डिसप्ले नेम. उपयोगकर्ताओं के साथ डायरेक्ट मैसेज भेजने के लिए सेट नहीं किया गया है.

userStories

Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई स्टोरीज़.

फ़ील्ड
Document IDString
किसी उपयोगकर्ता की स्टोरी का यूनीक आईडी, जिसे Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं ने बनाया है.
assigneeDocument (user)
स्टोरी पूरा करने के लिए असाइन किए गए उपयोगकर्ता के संसाधन का नाम. यह users दस्तावेज़ के Document ID और Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है.
descriptionString
उपयोगकर्ता के नज़रिये से सॉफ़्टवेयर की सुविधा के बारे में जानकारी.
priorityEnum
काम को पूरा करने में लगने वाला समय. संभावित वैल्यू Low, Medium या High हैं.
sizeEnum
काम की संख्या. संभावित वैल्यू Small, Medium या Large हैं.
statusEnum
काम का फ़ेज़. इसकी वैल्यू OPEN, STARTED या COMPLETED हो सकती हैं.
titleString
कहानी का टाइटल; कम शब्दों में खास जानकारी.

users

वे उपयोगकर्ता जिन्होंने कहानियां बनाई हैं या जिन्हें कहानियां असाइन की गई हैं.

फ़ील्ड
Document IDString
किसी उपयोगकर्ता का यूनीक आईडी. यह Firebase में userStories के assignee और Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है.
avatarUrlString
Chat में उपयोगकर्ता के अवतार की इमेज को होस्ट करने वाला यूआरएल.
displayNameString
उपयोगकर्ता का Chat डिसप्ले नेम.

Firestore डेटाबेस बनाने का तरीका यहां बताया गया है:

Google Cloud कंसोल

  1. Google Cloud Console में, Firestore पर जाएं. मेन्यू > Firestore पर क्लिक करें.

    Firestore पर जाएं

  2. डेटाबेस बनाएं पर क्लिक करें.

  3. अपना Firestore मोड चुनें से, नेटिव मोड पर क्लिक करें.

  4. जारी रखें पर क्लिक करें.

  5. डेटाबेस को कॉन्फ़िगर करें:

    1. अपने डेटाबेस को नाम दें में, डेटाबेस आईडी को (default) के तौर पर छोड़ दें.

    2. जगह का टाइप में, अपने डेटाबेस के लिए कोई क्षेत्र बताएं, जैसे कि us-central1. बेहतर परफ़ॉर्मेंस के लिए, Chat ऐप्लिकेशन के Cloud फ़ंक्शन के तौर पर, आस-पास की जगह या आस-पास की जगह चुनें.

  6. डेटाबेस बनाएं पर क्लिक करें.

gcloud सीएलआई

  • gcloud firestore databases create कमांड की मदद से, नेटिव मोड में Firestore डेटाबेस बनाएं:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native

    LOCATION की जगह Firestore क्षेत्र का नाम रखें, जैसे कि us-central1.

सैंपल कोड की समीक्षा करना

विकल्प के तौर पर, Cloud Function बनाने से पहले, कुछ समय निकालकर GitHub पर होस्ट किए गए सैंपल कोड के बारे में जानें.

GitHub पर देखें

यहां हर फ़ाइल के बारे में खास जानकारी दी गई है:

env.js
Chat ऐप्लिकेशन को किसी खास Google Cloud प्रोजेक्ट और क्षेत्र में डिप्लॉय करने के लिए, एनवायरमेंट कॉन्फ़िगरेशन वैरिएबल. आपको इस फ़ाइल में कॉन्फ़िगरेशन वैरिएबल अपडेट करने होंगे.
package.json और package-lock.json
Node.js प्रोजेक्ट की सेटिंग और डिपेंडेंसी.
index.js
Chat ऐप्लिकेशन के Cloud फ़ंक्शन का एंट्री पॉइंट. यह एचटीटीपी अनुरोध से चैट इवेंट पढ़ता है, ऐप्लिकेशन हैंडलर को कॉल करता है, और एचटीटीपी रिस्पॉन्स को JSON ऑब्जेक्ट के तौर पर पोस्ट करता है.
controllers/app.js
ऐप्लिकेशन का मुख्य लॉजिक. चैट ऐप्लिकेशन के ज़िक्र और स्लैश कमांड को मैनेज करके, इंटरैक्शन इवेंट को प्रोसेस करता है. कार्ड पर हुए क्लिक का जवाब देने के लिए, app-action-handler.js को कॉल किया जाता है.
controllers/app-action-handler.js
कार्ड पर क्लिक करने से जुड़े Chat इंटरैक्शन इवेंट को मैनेज करने के लिए, ऐप्लिकेशन लॉजिक.
services/space-service.js, services/user-service.js, और services/user-story-service.js
इन फ़ाइलों में, Chat स्पेस, उपयोगकर्ताओं, और उपयोगकर्ता की कहानियों के साथ काम करने के लिए, ऐप्लिकेशन लॉजिक के खास हिस्से शामिल होते हैं. इन फ़ाइलों के फ़ंक्शन app.js या app-action-handler.js से कॉल किए जाते हैं. डेटाबेस ऑपरेशन करने के लिए, इन फ़ाइलों में मौजूद फ़ंक्शन, firestore-service.js में मौजूद फ़ंक्शन को कॉल करते हैं.
services/firestore-service.js
डेटाबेस से जुड़ी कार्रवाइयां हैंडल करता है. इस फ़ाइल के फ़ंक्शन services/space-service.js, services/user-service.js, और services/user-story-service.js के ज़रिए कॉल किए जाते हैं.
services/aip-service.js
जनरेटिव एआई वाले टेक्स्ट के अनुमान के लिए, Vertex AI API को कॉल करता है.
model/*.js
इन फ़ाइलों में क्लास और एनम की परिभाषा होती है. ऐप्लिकेशन की सेवाएं, फ़ंक्शन के बीच डेटा को सेव और पास करने के लिए इनका इस्तेमाल करती हैं. उन्होंने Firestore डेटाबेस के लिए डेटा मॉडल सेट किया.
views/*.js
इस डायरेक्ट्री में मौजूद हर फ़ाइल एक कार्ड ऑब्जेक्ट इंस्टैंशिएट करती है, जिसे Chat ऐप्लिकेशन, कार्ड मैसेज या डायलॉग ऐक्शन रिस्पॉन्स के तौर पर Chat को वापस भेजता है.
views/widgets/*.js
हर फ़ाइल, विजेट ऑब्जेक्ट के एक टाइप को इंस्टैंशिएट करती है. ऐप्लिकेशन इसका इस्तेमाल, views/ डायरेक्ट्री में कार्ड बनाने के लिए करता है.
test/**/*.test.js
इस डायरेक्ट्री और उसकी सबडायरेक्ट्री की हर फ़ाइल में, उससे जुड़े फ़ंक्शन, कंट्रोलर, सेवा, व्यू या विजेट के लिए यूनिट टेस्ट शामिल होते हैं. प्रोजेक्ट की रूट डायरेक्ट्री में रहते हुए, npm run test को चलाकर सभी यूनिट टेस्ट चलाए जा सकते हैं.

Cloud फ़ंक्शन बनाना और डिप्लॉय करना

इस सेक्शन में, एक Cloud फ़ंक्शन बनाया और डिप्लॉय किया जाता है. इसमें प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन का ऐप्लिकेशन लॉजिक शामिल होता है.

Cloud फ़ंक्शन, Chat के उस एचटीटीपी अनुरोध के रिस्पॉन्स में चलता है जिसमें Chat इंटरैक्शन इवेंट होता है. Cloud फ़ंक्शन कोड को चलाने पर, वह इवेंट को प्रोसेस करता है और Chat को जवाब देता है. Chat, इस जवाब को मैसेज, डायलॉग या उपयोगकर्ता के किसी अन्य इंटरैक्शन के तौर पर रेंडर करता है. अगर लागू हो, तो Cloud Function, Firestore डेटाबेस से डेटा पढ़ता है या उसमें डेटा डालता है.

क्लाउड फ़ंक्शन बनाने का तरीका यहां देखें:

Google Cloud कंसोल

  1. GitHub से कोड को ZIP फ़ाइल के तौर पर डाउनलोड करें.

    ZIP फ़ाइल डाउनलोड करना

  2. डाउनलोड की गई ZIP फ़ाइल एक्सट्रैक्ट करें.

    एक्सट्रैक्ट किए गए फ़ोल्डर में, Google Workspace के सैंपल का पूरा डेटा स्टोर करने की जगह होती है.

  3. एक्सट्रैक्ट किए गए फ़ोल्डर में, google-chat-samples-main/node/project-management-app/ पर जाएं. इसके बाद, project-management-app फ़ोल्डर को ZIP फ़ाइल में कंप्रेस करें.

    ZIP फ़ाइल की रूट डायरेक्ट्री में, ये फ़ाइलें और फ़ोल्डर शामिल होने चाहिए:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. Google Cloud Console में, Cloud Functions पेज पर जाएं:

    Cloud Functions पर जाएं

    पक्का करें कि आपने Chat ऐप्लिकेशन के लिए, Google Cloud प्रोजेक्ट चुना हो.

  5. फ़ंक्शन बनाएं पर क्लिक करें.

  6. फ़ंक्शन बनाएं पेज पर, अपना फ़ंक्शन सेट अप करें:

    1. Environment में, Cloud Run Function चुनें.
    2. फ़ंक्शन के नाम में project-management-tutorial डालें.
    3. इलाका में, कोई इलाका चुनें.
    4. पुष्टि करें में जाकर, पुष्टि नहीं किए गए अनुरोधों को अनुमति दें चुनें.
    5. आगे बढ़ें पर क्लिक करें.
  7. रनटाइम में, Node.js 20 चुनें.

  8. एंट्री पॉइंट में, डिफ़ॉल्ट टेक्स्ट मिटाएं और projectManagementChatApp डालें.

  9. सोर्स कोड में, ज़िप अपलोड चुनें.

  10. डेस्टिनेशन बकेट में, create या कोई बकेट चुनें:

    1. ब्राउज़ करें पर क्लिक करें.
    2. कोई बकेट चुनें.
    3. चुनें पर क्लिक करें.

    Google Cloud, ज़िप फ़ाइल को इस बकेट में अपलोड करता है और कॉम्पोनेंट फ़ाइलों को निकालता है. फिर Cloud Functions, कॉम्पोनेंट फ़ाइलों को Cloud Function में कॉपी करता है.

  11. ZIP फ़ाइल में, GitHub से डाउनलोड की गई, एक्स्ट्रैक्ट की गई, और फिर से कंप्रेस की गई ZIP फ़ाइल अपलोड करें:

    1. ब्राउज़ करें पर क्लिक करें.
    2. ज़िप फ़ाइल पर जाएं और उसे चुनें.
    3. खोलें पर क्लिक करें.
  12. डिप्लॉय करें पर क्लिक करें.

    Cloud Functions की जानकारी वाला पेज खुलता है. साथ ही, आपका फ़ंक्शन, प्रोग्रेस के दो इंडिकेटर के साथ दिखता है: एक बिल्ड के लिए और एक सेवा के लिए. जब प्रोग्रेस के दोनों इंडिकेटर गायब हो जाते हैं और उनकी जगह सही का निशान दिखने लगता है, तो इसका मतलब है कि आपका फ़ंक्शन डिप्लॉय हो गया है और इस्तेमाल के लिए तैयार है.

  13. कॉन्सटेंट सेट करने के लिए सैंपल कोड में बदलाव करें:

    1. क्लाउड फ़ंक्शन की जानकारी वाले पेज पर, बदलाव करें पर क्लिक करें.
    2. आगे बढ़ें पर क्लिक करें.
    3. सोर्स कोड में, इनलाइन एडिटर चुनें.
    4. इनलाइन एडिटर में, env.js फ़ाइल खोलें.
    5. project-id की जगह अपना Cloud प्रोजेक्ट आईडी डालें.
    6. ज़रूरी नहीं: अपने Cloud Function के लिए us-central1 को काम करने वाली जगह के साथ अपडेट करें.
  14. डिप्लॉय करें पर क्लिक करें.

  15. जब फ़ंक्शन डिप्लॉय हो जाए, तो ट्रिगर यूआरएल को कॉपी करें:

    1. फ़ंक्शन की जानकारी पेज पर, ट्रिगर पर क्लिक करें.
    2. यूआरएल कॉपी करें. आपको इसकी ज़रूरत, नीचे दिए गए सेक्शन में Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए होगी.

gcloud सीएलआई

  1. GitHub से कोड का क्लोन बनाएं:

    git clone https://github.com/googleworkspace/google-chat-samples.git
  2. उस डायरेक्ट्री पर स्विच करें जिसमें इस प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन का कोड मौजूद है:

    cd google-chat-samples/node/project-management-app
  3. एनवायरमेंट वैरिएबल सेट करने के लिए, env.js फ़ाइल में बदलाव करें:

    1. project-id की जगह अपने Google Cloud प्रोजेक्ट आईडी का इस्तेमाल करें.
    2. us-central1 को अपने Google Cloud प्रोजेक्ट की जगह से बदलें.
  4. Cloud फ़ंक्शन को Google Cloud पर डिप्लॉय करने के लिए:

    gcloud functions deploy project-management-tutorial \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=projectManagementChatApp \
    --trigger-http \
    --allow-unauthenticated

    REGION को Cloud Function लोकेशन से बदलें जहां इसका इंफ़्रास्ट्रक्चर होस्ट किया गया हो, जैसे कि us-central1.

  1. फ़ंक्शन डिप्लॉय होने के बाद, रिस्पॉन्स से url प्रॉपर्टी कॉपी करें. यह वह ट्रिगर यूआरएल है जिसका इस्तेमाल, Google Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए इस सेक्शन में किया जाता है.

Google Cloud Console में Google Chat ऐप्लिकेशन को कॉन्फ़िगर करना

इस सेक्शन में बताया गया है कि Google Cloud Console में Chat API को अपने Chat ऐप्लिकेशन की जानकारी के साथ कैसे कॉन्फ़िगर करें. इस जानकारी में Chat ऐप्लिकेशन का नाम, काम करने वाले स्लैश कमांड, और Chat ऐप्लिकेशन के Cloud फ़ंक्शन के ट्रिगर यूआरएल की जानकारी शामिल होती है. इस जानकारी में Chat ऐप्लिकेशन के साथ हुए इंटरैक्शन वाले इवेंट भेजे जाते हैं.

  1. Google Cloud console में, मेन्यू > ज़्यादा प्रॉडक्ट > Google Workspace > प्रॉडक्ट लाइब्रेरी > Google Chat API > मैनेज करें > कॉन्फ़िगरेशन पर क्लिक करें.

    Chat API के कॉन्फ़िगरेशन पर जाना

  2. ऐप्लिकेशन का नाम में, Project Manager टाइप करें.

  3. अवतार यूआरएल में, https://developers.google.com/chat/images/quickstart-app-avatar.png लिखें.

  4. जानकारी में, Manages projects with user stories. टाइप करें

  5. इंटरैक्टिव सुविधाएं चालू करें टॉगल को चालू करने के लिए क्लिक करें.

  6. काम करने का तरीका में जाकर, 1:1 मैसेज पाएं, स्पेस और ग्रुप बातचीत में शामिल हों को चुनें.

  7. कनेक्शन सेटिंग में, एचटीटीपी एंडपॉइंट यूआरएल चुनें.

  8. एचटीटीपी एंडपॉइंट यूआरएल में, Cloud Functions डिप्लॉयमेंट से कॉपी किया गया ट्रिगर यूआरएल चिपकाएं. यह यूआरएल, https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial के फ़ॉर्मैट में होना चाहिए. अगर आपने gcloud सीएलआई के साथ क्लाउड फ़ंक्शन को डिप्लॉय किया है, तो यह url प्रॉपर्टी है.

  9. Chat ऐप्लिकेशन के स्लैश कमांड रजिस्टर करें. स्लैश कमांड को रजिस्टर करने के लिए:

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

      नाम कमांड आईडी ब्यौरा इससे एक डायलॉग बॉक्स खुलता है
      /createUserStory 1 बताए गए टाइटल के साथ स्टोरी बनाएं. चुने हुए का निशान हटाया गया
      /myUserStories 2 उपयोगकर्ता को असाइन की गई सभी खबरों की सूची बनाता है. चुने हुए का निशान हटाया गया
      /userStory 3 यह किसी स्टोरी का मौजूदा स्टेटस दिखाता है. चुने हुए का निशान हटाया गया
      /manageUserStories 4 इससे एक डायलॉग बॉक्स खुलता है, जिसमें खबरों में बदलाव किया जा सकता है. चुना गया
      /cleanupUserStories 5 स्पेस में मौजूद सभी खबरें मिटा देता है. चुने हुए का निशान हटाया गया
  10. किसको दिखे सेक्शन में जाकर, इस Chat ऐप्लिकेशन को अपने Workspace डोमेन के कुछ चुनिंदा लोगों और ग्रुप के लिए उपलब्ध कराएं को चुनें और अपना ईमेल पता डालें.

  11. इसके अलावा, लॉग में जाकर, लॉगिंग में गड़बड़ियां लॉग करें को चुनें.

  12. सेव करें पर क्लिक करें. 'कॉन्फ़िगरेशन सेव हो गया' मैसेज दिखेगा. इसका मतलब है कि Chat ऐप्लिकेशन, टेस्ट के लिए तैयार है.

Chat ऐप्लिकेशन को टेस्ट करना

प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन को टेस्ट करने के लिए, उसमें मैसेज भेजें और उपयोगकर्ता की कहानियां बनाने, उनमें बदलाव करने, और उन्हें मिटाने के लिए, स्लैश कमांड का इस्तेमाल करें.

  1. उस Google Workspace खाते का इस्तेमाल करके Google Chat खोलें जिसका इस्तेमाल आपने, खुद को भरोसेमंद टेस्टर के तौर पर जोड़ते समय किया था.

    Google Chat पर जाएं

  2. नई चैट पर क्लिक करें.
  3. एक या उससे ज़्यादा लोगों को जोड़ें फ़ील्ड में, अपने Chat ऐप्लिकेशन का नाम लिखें.
  4. नतीजों में से अपना Chat ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलता है.

  5. ऐप्लिकेशन को भेजे गए नए डायरेक्ट मैसेज में, Hello लिखें और enter दबाएं. प्रोजेक्ट मैनेजमेंट के लिए इस्तेमाल होने वाला Chat ऐप्लिकेशन, मदद पाने के लिए एक मेन्यू दिखाता है. इसमें यह जानकारी होती है कि यह ऐप्लिकेशन क्या-क्या कर सकता है.
  6. स्टोरी बनाने के लिए, मैसेज बार में /createUserStory Test story टाइप करें और उसे भेजें. प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन के जवाब में एक कार्ड मैसेज मिलता है. इसमें Vertex AI के जनरेटिव एआई का इस्तेमाल करके बनाई गई उपयोगकर्ता की कहानी की जानकारी होती है.
  7. कंसोल में, Firestore डेटाबेस की जांच करके देखें कि आपने चैट ऐप्लिकेशन में जोड़ी गई स्पेस, उससे इंटरैक्ट करने वाले लोगों, और आपकी बनाई उपयोगकर्ता स्टोरी के बारे में कौनसे रिकॉर्ड बनाए हैं.

    Firestore पर जाएं

  8. Google Chat पर वापस जाएं.

    Google Chat पर जाएं

  9. इसके अलावा, स्टोरी में बदलाव करने के लिए, बदलाव करें पर क्लिक करें. जब आप खबर से संतुष्ट हों, तो सेव करें पर क्लिक करें.
  10. ऐप्लिकेशन पर काम करने वाले हर स्लैश कमांड की जांच करें. इन्हें देखने के लिए, / टाइप करें या Chat ऐप्लिकेशन का नाम टैग करें.
  11. /cleanupUserStories स्लैश कमांड का इस्तेमाल करके, टेस्ट यूज़र स्टोरी मिटाएं. इसके अलावा, ऐप्लिकेशन को हटाएं या अनइंस्टॉल करें. ऐप्लिकेशन हटाने पर, उस स्पेस में बनाई गई सभी उपयोगकर्ता स्टोरी मिट जाती हैं.

समस्या हल करें

जब Google Chat ऐप्लिकेशन या कार्ड से कोई गड़बड़ी का मैसेज मिलता है, तो Chat इंटरफ़ेस पर "कोई गड़बड़ी हुई" मैसेज दिखता है. या "आपका अनुरोध प्रोसेस नहीं किया जा सका." कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) पर, गड़बड़ी का कोई मैसेज नहीं दिखता. हालांकि, Chat ऐप्लिकेशन या कार्ड से कोई अनचाहा नतीजा मिल सकता है. उदाहरण के लिए, हो सकता है कि कार्ड का मैसेज न दिखे.

हालांकि, हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, चैट ऐप्लिकेशन के लिए गड़बड़ी लॉग करने की सुविधा चालू होने पर, गड़बड़ी के मैसेज और लॉग डेटा की मदद से, गड़बड़ियों को ठीक किया जा सकता है. गड़बड़ियों को देखने, डिबग करने, और ठीक करने में मदद पाने के लिए, Google Chat में गड़बड़ियों को हल करना और उन्हें ठीक करना लेख पढ़ें.

व्यवस्थित करें

इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, आपके Google Cloud खाते पर लगने वाले शुल्क से बचने के लिए, हमारा सुझाव है कि आप क्लाउड प्रोजेक्ट को मिटा दें.

  1. Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > आईएएम और एडमिन > संसाधन मैनेज करें पर क्लिक करें.

    संसाधन मैनेजर पर जाएं

  2. प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
  3. डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए शट डाउन करें पर क्लिक करें.