वर्शन कंट्रोल से Cloud Run पर, जनरेटिव एआई Next.js वेब ऐप्लिकेशन को अपने-आप डिप्लॉय करना

1. खास जानकारी

पहली बार वेब ऐप्लिकेशन को डिप्लॉय करना मुश्किल हो सकता है. पहली बार डिप्लॉय करने के बाद भी, अगर प्रोसेस में बहुत ज़्यादा काम करना पड़ता है, तो हो सकता है कि आप अपने ऐप्लिकेशन के नए वर्शन डिप्लॉय न करें. लगातार डिप्लॉयमेंट की मदद से, अपने ऐप्लिकेशन में किए गए बदलावों को आसानी से अपने-आप डिप्लॉय किया जा सकता है.

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

आपको क्या सीखने को मिलेगा

  • Cloud Shell Editor की मदद से वेब ऐप्लिकेशन लिखना
  • अपने ऐप्लिकेशन के कोड को GitHub में सेव करना
  • Cloud Run पर अपने ऐप्लिकेशन को अपने-आप डिप्लॉय करना
  • Vertex AI का इस्तेमाल करके, अपने ऐप्लिकेशन में जनरेटिव एआई की सुविधा जोड़ना

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

  1. अगर आपके पास पहले से कोई Google खाता नहीं है, तो आपको एक Google खाता बनाना होगा.
    • ऑफ़िस या स्कूल वाले खाते के बजाय, निजी खाते का इस्तेमाल करें. ऑफ़िस और स्कूल वाले खातों पर कुछ पाबंदियां हो सकती हैं. इनकी वजह से, इस लैब के लिए ज़रूरी एपीआई चालू नहीं किए जा सकते.
  2. अगर आपके पास पहले से कोई GitHub खाता नहीं है, तो आपको एक GitHub खाता बनाना होगा

3. प्रोजेक्ट सेटअप करना

  1. Google Cloud Console में साइन इन करें.
  2. Cloud Console में बिलिंग चालू करें.
    • इस लैब को पूरा करने में, Cloud संसाधनों पर 1 डॉलर से कम का खर्च आना चाहिए.
    • ज़्यादा शुल्क से बचने के लिए, इस लैब के आखिर में दिए गए निर्देशों का पालन करके संसाधनों को मिटाया जा सकता है.
    • नए उपयोगकर्ता, 300 डॉलर के मुफ़्त में आज़माने की सुविधा का फ़ायदा पा सकते हैं.
    • क्या आपको Devs के लिए Gen AI के किसी इवेंट में शामिल होना है? आपको 100 रुपये का क्रेडिट मिल सकता है.
  3. नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें.
  4. पुष्टि करें कि Cloud Billing में मेरे प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है
    • अगर आपके नए प्रोजेक्ट के Billing account कॉलम में Billing is disabled दिखता है, तो:
      1. Actions कॉलम में मौजूद तीन बिंदुओं पर क्लिक करें
      2. बिलिंग बदलें पर क्लिक करें
      3. वह बिलिंग खाता चुनें जिसका आपको इस्तेमाल करना है
    • अगर आपको Gen AI for Devs इवेंट में शामिल होना है, तो खाते का नाम Google Cloud Platform का ट्रायल बिलिंग खाता होगा

4. Cloud Shell Editor खोलें

  1. Cloud Shell Editor पर जाएं
  2. अगर टर्मिनल स्क्रीन पर सबसे नीचे नहीं दिखता है, तो इसे खोलें:
    • हैमबर्गर मेन्यू हैमबर्गर मेन्यू का आइकॉन पर क्लिक करें
    • टर्मिनल पर क्लिक करें
    • नया टर्मिनलCloud Shell Editor में नया टर्मिनल खोलें पर क्लिक करें
  3. टर्मिनल में, इस निर्देश का इस्तेमाल करके अपना प्रोजेक्ट सेट करें:
    • फ़ॉर्मैट:
      gcloud config set project [PROJECT_ID]
      
    • उदाहरण:
      gcloud config set project lab-project-id-example
      
    • अगर आपको अपना प्रोजेक्ट आईडी याद नहीं है, तो:
      • अपने सभी प्रोजेक्ट आईडी की सूची देखने के लिए, यह कमांड इस्तेमाल करें:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Cloud Shell Editor के टर्मिनल में प्रोजेक्ट आईडी सेट करना
  4. अगर अनुमति देने के लिए कहा जाए, तो जारी रखने के लिए अनुमति दें पर क्लिक करें. Cloud Shell को अनुमति देने के लिए क्लिक करें
  5. आपको यह मैसेज दिखेगा:
    Updated property [core/project].
    
    अगर आपको WARNING दिखता है और आपसे Do you want to continue (Y/N)? पूछा जाता है, तो इसका मतलब है कि आपने प्रोजेक्ट आईडी गलत डाला है. N दबाएं, Enter दबाएं, और gcloud config set project निर्देश को फिर से चलाने की कोशिश करें.

5. एपीआई चालू करें

टर्मिनल में, इन एपीआई को चालू करें:

gcloud services enable \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  aiplatform.googleapis.com

इस कमांड को पूरा होने में कुछ मिनट लग सकते हैं. हालांकि, इसके बाद आपको इस तरह का मैसेज दिखेगा:

Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.

6. Git कॉन्फ़िगर करना

  1. ग्लोबल Git उपयोगकर्ता का ईमेल पता सेट करें:
    git config --global user.email "you@example.com"
    
  2. git के लिए ग्लोबल यूज़र नेम सेट करें:
    git config --global user.name "Your Name"
    
  3. अपनी ग्लोबल git डिफ़ॉल्ट ब्रांच को main पर सेट करें:
    git config --global init.defaultBranch main
    

7. अपना कोड लिखें

Next.js में ऐप्लिकेशन लिखने के लिए:

  1. होम डायरेक्ट्री पर जाएं:
    cd ~
    
  2. नया codelab-genai Next.js ऐप्लिकेशन बनाएं:
    npx create-next-app@latest codelab-genai \
        --ts \
        --eslint \
        --tailwind \
        --no-src-dir \
        --app \
        --no-import-alias
    
  3. अगर create-next-app को इंस्टॉल करने के लिए कहा जाए, तो आगे बढ़ने के लिए Enter दबाएं:
    Need to install the following packages:
    create-next-app@14.2.14
    Ok to proceed? (y)
    
  4. codelab-genai डायरेक्ट्री पर जाएं:
    cd codelab-genai
    
  5. Cloud Shell Editor में page.tsx फ़ाइल खोलें:
    cloudshell edit app/page.tsx
    
    अब स्क्रीन के सबसे ऊपर एक फ़ाइल दिखेगी. यहां इस page.tsx फ़ाइल में बदलाव किया जा सकता है. दिखाएं कि कोड को स्क्रीन के सबसे ऊपर वाले सेक्शन में रखा गया है
  6. मौजूदा कोड मिटाएं. यहां दिए गए कोड को कॉपी करें और इसे खोली गई page.tsx फ़ाइल में चिपकाएं:
    import React from "react";
    
    export default function Home() {
    return (
        <main>
            Hello World!
        </main>
    );
    }
    
    कुछ सेकंड बाद, Cloud Shell Editor आपके कोड को अपने-आप सेव कर देगा. यह कोड, एचटीटीपी अनुरोधों का जवाब "नमस्ते, दुनिया के लोगों!" मैसेज के साथ देता है.

आपके ऐप्लिकेशन का शुरुआती कोड तैयार हो गया है और इसे वर्शन कंट्रोल में सेव किया जा सकता है.

8. डेटाबेस तैयार करना

  1. स्क्रीन पर सबसे नीचे मौजूद Cloud Shell टर्मिनल पर वापस जाएं.
  2. पक्का करें कि आप अब भी सही डायरेक्ट्री में हों:
    cd ~/codelab-genai
    
  3. अपनी git repository शुरू करें
    git init -b main
    
  4. GitHub CLI में लॉग इन करना
    gh auth login
    
    डिफ़ॉल्ट विकल्पों को स्वीकार करने के लिए, Enter दबाएं. इसके बाद, GitHub CLI टूल में दिए गए निर्देशों का पालन करें. इनमें ये शामिल हैं:
    1. आपको किस खाते में लॉग इन करना है? GitHub.com
    2. इस होस्ट पर Git के ऑपरेशन के लिए, आपका पसंदीदा प्रोटोकॉल क्या है? HTTPS
    3. क्या आपको GitHub क्रेडेंशियल का इस्तेमाल करके Git की पुष्टि करनी है? Y (अगर यह विकल्प नहीं दिखता है, तो इसे छोड़ दें.)
    4. GitHub CLI की पुष्टि करने के लिए, आपको कौनसी विधि इस्तेमाल करनी है? Login with a web browser
    5. एक बार इस्तेमाल होने वाला कोड कॉपी करें
    6. https://github.com/login/device खोलें
    7. एक बार इस्तेमाल किया जाने वाला कोड चिपकाएं
    8. Authorize github पर क्लिक करें
    9. लॉगिन की प्रोसेस पूरी करना
  5. पुष्टि करें कि आपने लॉग इन किया है:
    gh api user -q ".login"
    
    अगर आपने सही तरीके से लॉग इन किया है, तो इससे आपका GitHub उपयोगकर्ता नाम दिखेगा.
  6. GITHUB_USERNAME वैरिएबल बनाना
    GITHUB_USERNAME=$(gh api user -q ".login")
    
  7. पुष्टि करें कि आपने एनवायरमेंट वैरिएबल बनाया है:
    echo ${GITHUB_USERNAME}
    
    अगर आपने वैरिएबल बना लिया है, तो इससे आपका GitHub उपयोगकर्ता नाम दिखेगा.
  8. codelab-genai नाम की एक खाली GitHub रिपॉज़िटरी बनाएं:
    gh repo create codelab-genai --private
    
    अगर आपको गड़बड़ी का यह मैसेज मिलता है:
    GraphQL: Name already exists on this account (createRepository)
    
    इसका मतलब है कि आपके पास पहले से ही codelab-genai नाम की एक रिपॉज़िटरी है. इस ट्यूटोरियल को आगे बढ़ाने के लिए, आपके पास दो विकल्प हैं:
  9. codelab-genai रिपॉज़िटरी को रिमोट origin के तौर पर जोड़ें:
    git remote add origin https://github.com/${GITHUB_USERNAME}/codelab-genai
    

9. अपना कोड शेयर करना

  1. पुष्टि करें कि आप सही डायरेक्ट्री में हैं:
    cd ~/codelab-genai
    
  2. मौजूदा डायरेक्ट्री में मौजूद सभी फ़ाइलों को इस कमिट में जोड़ें:
    git add .
    
  3. पहला कमिट बनाएं:
    git commit -m "add http server"
    
  4. अपने कमिट को origin रिपॉज़िटरी की main ब्रांच में पुश करें:
    git push -u origin main
    

इस कमांड को चलाकर, नतीजे के तौर पर मिले यूआरएल पर जाएं. इससे आपको GitHub पर अपने ऐप्लिकेशन का कोड दिखेगा:

echo -e "\n\nTo see your code, visit this URL:\n \
    https://github.com/${GITHUB_USERNAME}/codelab-genai/blob/main/app/page.tsx \n\n"

10. अपने-आप डिप्लॉय होने की सुविधा सेट अप करना

  1. Cloud Shell Editor टैब को खुला रहने दें. हम इस टैब पर बाद में वापस आएंगे.
  2. नए टैब में, Cloud Run पेज पर जाएं
  3. कंसोल में सही Google Cloud प्रोजेक्ट चुनें Google Cloud Console प्रोजेक्ट का ड्रॉपडाउन
  4. कनेक्ट रीपो पर क्लिक करें
  5. CLOUD BUILD की मदद से सेट अप करें पर क्लिक करें
    1. GitHub को Repository Provider के तौर पर चुनें
      • अगर आपने ब्राउज़र में अपने GitHub खाते में लॉग इन नहीं किया है, तो अपने क्रेडेंशियल से लॉग इन करें.
    2. पुष्टि करें पर क्लिक करें. इसके बाद, जारी रखें पर क्लिक करें.
    3. लॉग इन करने के बाद, आपको Cloud Run पेज पर यह मैसेज दिखेगा: GitHub ऐप्लिकेशन, आपकी किसी भी रिपॉज़िटरी पर इंस्टॉल नहीं है.
    4. GOOGLE CLOUD BUILD इंस्टॉल करें बटन पर क्लिक करें.
      • इंस्टॉलेशन सेटअप पेज पर, सिर्फ़ रिपॉज़िटरी चुनें को चुनें. इसके बाद, codelab-genai रिपॉज़िटरी चुनें. इसे आपने सीएलआई की मदद से बनाया था.
      • इंस्टॉल करें पर क्लिक करें
      • ध्यान दें: अगर आपके पास GitHub की कई रिपॉज़िटरी हैं, तो इन्हें लोड होने में कुछ मिनट लग सकते हैं.
    5. डेटा स्टोर करने की जगह के तौर पर your-user-name/codelab-genai को चुनें
      • अगर रिपॉज़िटरी मौजूद नहीं है, तो कनेक्ट की गई रिपॉज़िटरी मैनेज करें लिंक पर क्लिक करें.
    6. Branch को ^main$ के तौर पर छोड़ें
    7. Google Cloud के बिल्डपैक के ज़रिए Go, Node.js, Python, Java, .NET Core, Ruby या PHP पर क्लिक करें
      • अन्य फ़ील्ड (Build context directory, Entrypoint, और Function target) में कोई बदलाव न करें.
    8. सेव करें पर क्लिक करें
  6. नीचे की ओर स्क्रोल करके, पुष्टि पर जाएं
  7. बिना पुष्टि किए गए अनुरोधों को अनुमति दें पर क्लिक करें
  8. बनाएं पर क्लिक करें

बिल्ड पूरा होने के बाद (इसमें कई मिनट लगेंगे), यह कमांड चलाएं और नतीजे वाले यूआरएल पर जाकर, चल रहा ऐप्लिकेशन देखें:

echo -e "\n\nOnce the build finishes, visit your live application:\n \
    "$( \
        gcloud run services list | \
        grep codelab-genai | \
        awk '/URL/{print $2}' | \
        head -1 \
    )" \n\n"

11. अपना कोड बदलना

Cloud Shell Editor पर वापस जाएं

अगर आपने Cloud Shell Editor को अब भी खुला रखा है, तो इन चरणों को छोड़ा जा सकता है.

  1. Cloud Shell Editor पर जाएं
  2. अगर टर्मिनल स्क्रीन पर सबसे नीचे नहीं दिखता है, तो इसे खोलें:
    • हैमबर्गर मेन्यू हैमबर्गर मेन्यू का आइकॉन पर क्लिक करें
    • टर्मिनल पर क्लिक करें
    • नया टर्मिनलCloud Shell Editor में नया टर्मिनल खोलें पर क्लिक करें
  3. टर्मिनल में, इस निर्देश का इस्तेमाल करके अपना प्रोजेक्ट सेट करें:
    • फ़ॉर्मैट:
      gcloud config set project [PROJECT_ID]
      
    • उदाहरण:
      gcloud config set project lab-project-id-example
      
    • अगर आपको अपना प्रोजेक्ट आईडी याद नहीं है, तो:
      • अपने सभी प्रोजेक्ट आईडी की सूची देखने के लिए, यह कमांड इस्तेमाल करें:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Cloud Shell Editor के टर्मिनल में प्रोजेक्ट आईडी सेट करना
  4. अगर अनुमति देने के लिए कहा जाए, तो जारी रखने के लिए अनुमति दें पर क्लिक करें. Cloud Shell को अनुमति देने के लिए क्लिक करें
  5. आपको यह मैसेज दिखेगा:
    Updated property [core/project].
    
    अगर आपको WARNING दिखता है और आपसे Do you want to continue (Y/N)? पूछा जाता है, तो इसका मतलब है कि आपने प्रोजेक्ट आईडी गलत डाला है. N दबाएं, Enter दबाएं, और gcloud config set project निर्देश को फिर से चलाने की कोशिश करें.

अपने ऐप्लिकेशन में Vertex AI जोड़ना

  1. स्क्रीन पर सबसे नीचे मौजूद Cloud Shell टर्मिनल पर वापस जाएं.
  2. पक्का करें कि आप अब भी सही डायरेक्ट्री में हों:
    cd ~/codelab-genai
    
  3. Node.js Vertex AI SDK इंस्टॉल करें:
    npm install @google-cloud/vertexai
    
  4. Node.js Google Auth SDK इंस्टॉल करें:
    npm install google-auth-library
    
  5. टर्मिनल में app/actions.ts बनाना
    touch app/actions.ts
    
  6. Cloud Shell Editor में actions.ts खोलें
    cloudshell edit app/actions.ts
    
  7. यहां दिए गए कोड को कॉपी करें और इसे खोली गई actions.ts फ़ाइल में चिपकाएं:
    'use server'
    
    import { VertexAI } from '@google-cloud/vertexai';
    import { GoogleAuth } from 'google-auth-library';
    const auth = new GoogleAuth();
    
    export async function getFunFactsAction(animal: string) {
        const project = await auth.getProjectId();
    
        const vertex = new VertexAI({ project: project });
        const generativeModel = vertex.getGenerativeModel({
            model: 'gemini-1.5-flash'
        });
    
        const prompt = `Give me 10 fun facts about ${animal || 'dog'}. 
                Return as json as an array in the format ['fact 1', 'fact 2']
                Remove backticks and other markdown formatting.`;
        const resp = await generativeModel.generateContent(prompt);
    
        if (!resp.response.candidates) {
            throw new Error('Did not receive response candidates.')
        }
    
        console.log({ text: resp.response.candidates[0].content.parts[0].text })
    
        const factArray = JSON.parse(resp.response.candidates[0].content.parts[0].text || '');
        return factArray;
    };
    
  8. Cloud Shell Editor में page.tsx खोलें
    cloudshell edit ~/codelab-genai/app/page.tsx
    
  9. अपनी page.tsx फ़ाइल में मौजूद कोड को इससे बदलें:
    'use client'
    
    import React, { useState } from "react";
    import { getFunFactsAction } from "./actions";
    
    export default function Home() {
        const [animal, setAnimal] = useState('');
        const [funFacts, setFunFacts] = useState<string[]>([]);
        async function getNewFunFacts() {
            const funFacts = await getFunFactsAction(animal);
            setFunFacts(funFacts);
        }
        return (
            <main>
                <h1 className="text-xl">Animal Fun Facts!</h1>
                <label className="text-lg p-2 m-2">Animal</label>
                <input
                    placeholder="dog"
                    value={animal}
                    onChange={(e) => setAnimal(e.target.value)}
                    className="text-black border-2 p-2 m-2 rounded"
                />
                <button
                    onClick={getNewFunFacts}
                    className="font-bold border-2 p-2 m-2 rounded hover:bg-white hover:text-black"
                >
                    Get New Fun Facts
                </button>
                <ul className="list-disc list-inside">
                    {funFacts.map(function (thing) {
                        return <li key={thing}>{thing}</li>
                    })}
                </ul>
            </main>
        );
    }
    

12. फिर से डिप्लॉय करें

  1. पक्का करें कि आप अब भी Cloud Shell में सही डायरेक्ट्री में हों:
    cd ~/codelab-genai
    
  2. अपने ऐप्लिकेशन के नए वर्शन को अपनी लोकल गिट रिपॉज़िटरी में सेव करने के लिए, इन कमांड को चलाएं:
    git add .
    git commit -m "add latest changes"
    
  3. बदलावों को GitHub पर पुश करें:
    git push
    
  4. बिल्ड पूरा होने के बाद, यह निर्देश चलाएं और डिप्लॉय किए गए ऐप्लिकेशन पर जाएं:
    echo -e "\n\nOnce the build finishes, visit your live application:\n \
        "$( \
            gcloud run services list | \
            grep codelab-genai | \
            awk '/URL/{print $2}' | \
            head -1 \
        )" \n\n"
    

बदलाव दिखने से पहले, बिल्ड को पूरा होने में कुछ मिनट लग सकते हैं.

सभी बदलावों का इतिहास यहां देखा जा सकता है: https://console.cloud.google.com/run/detail/us-central1/codelab-genai/revisions

13. (ज़रूरी नहीं) Vertex AI के इस्तेमाल का ऑडिट करें

Google Cloud की अन्य सेवाओं की तरह ही, Vertex AI की कार्रवाइयों का ऑडिट किया जा सकता है. ऑडिट लॉग से आपको इन सवालों के जवाब मिलते हैं: "किसने क्या किया, कहां किया, और कब किया?". Vertex AI के लिए, एडमिन के ऑडिट लॉग डिफ़ॉल्ट रूप से चालू होते हैं. कॉन्टेंट जनरेट करने के अनुरोधों का ऑडिट करने के लिए, आपको डेटा ऐक्सेस ऑडिट लॉग चालू करने होंगे:

  1. Google Cloud Console में, ऑडिट लॉग पेज पर जाएं:

    अगर आपको इस पेज को ढूंढने के लिए खोज बार का इस्तेमाल करना है, तो उस नतीजे को चुनें जिसकी सबहेडिंग IAM और एडमिन है.
  2. पक्का करें कि मौजूदा Google Cloud प्रोजेक्ट वही हो जिसमें आपको Cloud Run ऐप्लिकेशन बनाना है.
  3. डेटा ऐक्सेस के ऑडिट लॉग का कॉन्फ़िगरेशन टेबल में, सेवा कॉलम में मौजूद Vertex AI API को ढूंढें और चुनें.
  4. लॉग टाइप टैब में, डेटा ऐक्सेस के ऑडिट लॉग टाइप Admin read और Data read चुनें.
  5. सेव करें पर क्लिक करें.

इसे चालू करने के बाद, आपको ऐप्लिकेशन के हर इनवोकेशन के लिए ऑडिट लॉग दिखेंगे. ऑडिट लॉग में, फ़ंक्शन को कॉल करने की जानकारी देखने के लिए, यह तरीका अपनाएं:

  1. डिप्लॉय किए गए ऐप्लिकेशन पर वापस जाएं और लॉग को ट्रिगर करने के लिए, पेज को रीफ़्रेश करें.
  2. Google Cloud Console में, लॉग एक्सप्लोरर पेज पर जाएं:

  3. क्वेरी विंडो में टाइप करें:
    LOG_ID("cloudaudit.googleapis.com%2Fdata_access")
    protoPayload.serviceName="aiplatform.googleapis.com"
    
  4. क्वेरी चलाएं पर क्लिक करें.

ऑडिट लॉग में, Vertex AI API के इस्तेमाल की जानकारी सेव होती है. हालांकि, इससे आपको वर्कलोड से जुड़ा डेटा नहीं मिलता. जैसे, प्रॉम्प्ट या जवाब की जानकारी.

14. (ज़रूरी नहीं) एआई वर्कलोड की निगरानी बढ़ाना

ऑडिट लॉग में, वर्कलोड से जुड़ी जानकारी कैप्चर नहीं की जाती. अपने वर्कलोड की निगरानी को बेहतर बनाने के लिए, आपको इस जानकारी को साफ़ तौर पर लॉग करना होगा. इसके लिए, अपने पसंदीदा लॉगिंग फ़्रेमवर्क का इस्तेमाल किया जा सकता है. यहां Node.js के नेटिव लॉगिंग सिस्टम का इस्तेमाल करके, ऐसा करने का तरीका बताया गया है.

  1. Cloud Shell Editor में actions.ts को फिर से खोलें
    cloudshell edit ~/codelab-genai/app/actions.ts
    
  2. await generativeModel.generateContent(prompt) (लाइन 19) को कॉल करने के बाद, यह लाइन जोड़ें:
        console.log(JSON.stringify({
            severity: 'DEBUG',
            message: 'Content is generated',
            prompt: prompt,
            response: resp.response,
        }));
    
    यह कोड, स्ट्रक्चर्ड लॉगिंग फ़ॉर्मैट का इस्तेमाल करके, जनरेट किए गए कॉन्टेंट के बारे में stdout जानकारी लिखता है. Cloud Run में मौजूद लॉगिंग एजेंट, stdout में प्रिंट किए गए आउटपुट को कैप्चर करता है. साथ ही, इस फ़ॉर्मैट को Cloud Logging में लिखता है.
  3. Cloud Shell को फिर से खोलें और यह पक्का करने के लिए कि आप सही डायरेक्ट्री में हैं, यह कमांड टाइप करें:
    cd ~/codelab-genai
    
  4. बदलावों को सेव करें:
    git commit -am "observe generated content"
    
  5. बदलावों को GitHub पर पुश करें, ताकि बदले गए वर्शन को फिर से डिप्लॉय किया जा सके:
    git push
    

नया वर्शन डिप्लॉय होने के बाद, Vertex AI को किए गए कॉल के बारे में डीबग जानकारी देखी जा सकती है.

अपने ऐप्लिकेशन के लॉग देखने के लिए, यह तरीका अपनाएं:

  1. Google Cloud Console में, लॉग एक्सप्लोरर पेज पर जाएं:

  2. क्वेरी विंडो में टाइप करें:
    LOG_ID("run.googleapis.com%2Fstdout")
    severity=DEBUG
    
  3. क्वेरी चलाएं पर क्लिक करें.

क्वेरी के नतीजे में, प्रॉम्प्ट और Vertex AI के जवाब वाले लॉग दिखते हैं. इनमें "सुरक्षा रेटिंग" भी शामिल होती हैं. इनका इस्तेमाल, सुरक्षा के तरीकों की निगरानी करने के लिए किया जा सकता है

15. (ज़रूरी नहीं) साफ़ करें

Cloud Run, सेवा का इस्तेमाल न किए जाने पर कोई शुल्क नहीं लेता. हालांकि, Artifact Registry में कंटेनर इमेज सेव करने के लिए आपसे शुल्क लिया जा सकता है. शुल्क से बचने के लिए, अपना Cloud प्रोजेक्ट मिटाया जा सकता है. Cloud प्रोजेक्ट मिटाने पर, उस प्रोजेक्ट में इस्तेमाल किए गए सभी संसाधनों के लिए बिलिंग बंद हो जाती है.

अगर आपको प्रोजेक्ट मिटाना है, तो यह तरीका अपनाएं:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

आपके पास, Cloud Shell डिस्क से ग़ैर-ज़रूरी संसाधन मिटाने का विकल्प भी होता है. आप:

  1. कोड लैब प्रोजेक्ट की डायरेक्ट्री मिटाएं:
    rm -rf ~/codelab-genai
    
  2. चेतावनी! इस कार्रवाई को पहले जैसा नहीं किया जा सकता! अगर आपको जगह खाली करने के लिए, Cloud Shell पर मौजूद सभी फ़ाइलें मिटानी हैं, तो अपनी पूरी होम डायरेक्ट्री मिटाएं. ध्यान रखें कि आपको जो भी डेटा सेव रखना है उसे किसी दूसरी जगह पर सेव कर लिया गया हो.
    sudo rm -rf $HOME
    

16. बधाई हो

इस लैब में, आपने एक वेब ऐप्लिकेशन लिखा और Cloud Run को कॉन्फ़िगर किया. इससे आपके ऐप्लिकेशन के सोर्स कोड में बदलाव होने पर, आपका ऐप्लिकेशन अपने-आप डिप्लॉय हो जाता है. इसके बाद, आपने अपने ऐप्लिकेशन में बदलाव किया और उसे फिर से डिप्लॉय किया.

अगर आपको यह लैब पसंद आया, तो इसे किसी दूसरी कोडिंग भाषा या फ़्रेमवर्क में फिर से आज़माएं:

यहां सीखने के कुछ विकल्प दिए गए हैं: