1. खास जानकारी
पहली बार वेब ऐप्लिकेशन डिप्लॉय करना मुश्किल हो सकता है. पहली बार डिप्लॉय करने के बाद भी, अगर प्रोसेस में बहुत ज़्यादा काम करना पड़ता है, तो हो सकता है कि आप अपने ऐप्लिकेशन के नए वर्शन डिप्लॉय न करें. लगातार डिप्लॉयमेंट की मदद से, अपने ऐप्लिकेशन में किए गए बदलावों को आसानी से अपने-आप डिप्लॉय किया जा सकता है.
इस लैब में, आपको एक वेब ऐप्लिकेशन लिखना है. साथ ही, Cloud Run को कॉन्फ़िगर करना है, ताकि आपके ऐप्लिकेशन के सोर्स कोड में बदलाव होने पर, वह अपने-आप डिप्लॉय हो जाए. इसके बाद, अपने ऐप्लिकेशन में बदलाव करें और उसे फिर से डिप्लॉय करें.
आपको क्या सीखने को मिलेगा
- Cloud Shell Editor की मदद से वेब ऐप्लिकेशन लिखना
- अपने ऐप्लिकेशन के कोड को GitHub में सेव करना
- अपने ऐप्लिकेशन को Cloud Run पर अपने-आप डिप्लॉय करना
- Vertex AI का इस्तेमाल करके, अपने ऐप्लिकेशन में जनरेटिव एआई की सुविधा जोड़ना
2. ज़रूरी शर्तें
- अगर आपके पास पहले से कोई Google खाता नहीं है, तो आपको एक Google खाता बनाना होगा.
- ऑफ़िस या स्कूल वाले खाते के बजाय, निजी खाते का इस्तेमाल करें. ऑफ़िस और स्कूल वाले खातों पर कुछ पाबंदियां हो सकती हैं. इनकी वजह से, इस लैब के लिए ज़रूरी एपीआई चालू नहीं किए जा सकते.
- अगर आपके पास पहले से कोई GitHub खाता नहीं है, तो आपको एक GitHub खाता बनाना होगा
- अगर आपके पास पहले से कोई GitHub खाता है, तो उसका इस्तेमाल करें. GitHub, नए खाते को स्पैम के तौर पर ब्लॉक कर सकता है.
- अपने GitHub खाते को स्पैम के तौर पर मार्क किए जाने की संभावना कम करने के लिए, अपने GitHub खाते पर दो चरणों में पुष्टि करने की सुविधा कॉन्फ़िगर करें.
3. प्रोजेक्ट सेटअप करना
- Google Cloud Console में साइन इन करें.
- Cloud Console में बिलिंग चालू करें.
- इस लैब को पूरा करने में, Cloud संसाधनों पर 1 डॉलर से कम का खर्च आना चाहिए.
- ज़्यादा शुल्क से बचने के लिए, संसाधन मिटाने के लिए इस लैब के आखिर में दिया गया तरीका अपनाएं.
- नए उपयोगकर्ता, 300 डॉलर के मुफ़्त में आज़माने की सुविधा का फ़ायदा पा सकते हैं.
- क्या आपको Devs के लिए Gen AI इवेंट में शामिल होना है? आपको 100 रुपये का क्रेडिट मिल सकता है.
- नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें.
- पुष्टि करें कि Cloud Billing में मेरे प्रोजेक्ट में बिलिंग की सुविधा चालू है
- अगर आपके नए प्रोजेक्ट के
Billing accountकॉलम मेंBilling is disabledदिखता है, तो:Actionsकॉलम में मौजूद तीन बिंदुओं पर क्लिक करें- बिलिंग की जानकारी बदलें पर क्लिक करें
- वह बिलिंग खाता चुनें जिसका आपको इस्तेमाल करना है
- अगर आपको Gen AI for Devs इवेंट में शामिल होना है, तो खाते का नाम Google Cloud Platform का ट्रायल बिलिंग खाता होगा
- अगर आपके नए प्रोजेक्ट के
4. Cloud Shell Editor खोलें
- Cloud Shell Editor पर जाएं
- अगर टर्मिनल स्क्रीन पर सबसे नीचे नहीं दिखता है, तो इसे खोलें:
- हैमबर्गर मेन्यू
पर क्लिक करें - टर्मिनल पर क्लिक करें
- नया टर्मिनल
पर क्लिक करें
- हैमबर्गर मेन्यू
- टर्मिनल में, इस निर्देश का इस्तेमाल करके अपना प्रोजेक्ट सेट करें:
- फ़ॉर्मैट:
gcloud config set project [PROJECT_ID] - उदाहरण:
gcloud config set project lab-project-id-example - अगर आपको अपना प्रोजेक्ट आईडी याद नहीं है, तो:
- अपने सभी प्रोजेक्ट आईडी की सूची देखने के लिए, यह कमांड इस्तेमाल करें:
gcloud projects list | awk '/PROJECT_ID/{print $2}'

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

- आपको यह मैसेज दिखेगा:
अगर आपको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 कॉन्फ़िगर करना
- ग्लोबल Git उपयोगकर्ता का ईमेल पता सेट करें:
git config --global user.email "you@example.com" - Git के लिए अपना ग्लोबल उपयोगकर्ता नाम सेट करें:
git config --global user.name "Your Name" - अपनी ग्लोबल git डिफ़ॉल्ट ब्रांच को
mainपर सेट करें:git config --global init.defaultBranch main
7. अपना कोड लिखें
Node.js में कोई ऐप्लिकेशन लिखने के लिए:
- होम डायरेक्ट्री पर जाएं:
cd ~ - नया
codelab-genaiAngular ऐप्लिकेशन बनाएं:npx @angular/cli new codelab-genai \ --minimal \ --inline-template \ --inline-style \ --ssr \ --defaults - अगर
@angular/cliइंस्टॉल करने के लिए कहा जाए, तो आगे बढ़ने के लिएEnterदबाएं:Need to install the following packages: @angular/cli@18.2.4 Ok to proceed? (y)
codelab-genaiडायरेक्ट्री पर जाएं:cd codelab-genai- Cloud Shell Editor में
app.component.tsफ़ाइल खोलें: अब स्क्रीन के सबसे ऊपर वाले हिस्से में, एक खाली फ़ाइल दिखेगी. यहां इसcloudshell edit src/app/app.component.tsapp.component.tsफ़ाइल में बदलाव किया जा सकता है.
- यहां दिए गए कोड को कॉपी करें और इसे खुली हुई
app.component.tsफ़ाइल में चिपकाएं: कुछ सेकंड बाद, Cloud Shell Editor आपके कोड को अपने-आप सेव कर देगा. यह कोड, एचटीटीपी अनुरोधों का जवाब "नमस्ते, दुनिया के लोगों!" मैसेज के साथ देता है.import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], template: ` <h1>Hello world!</h1> <router-outlet /> `, styles: [], }) export class AppComponent { }
आपके ऐप्लिकेशन के लिए शुरुआती कोड तैयार हो गया है. अब इसे वर्शन कंट्रोल में सेव किया जा सकता है.
8. कोई रिपॉज़िटरी बनाना
- स्क्रीन पर सबसे नीचे मौजूद Cloud Shell टर्मिनल पर वापस जाएं.
- पक्का करें कि आप अब भी सही डायरेक्ट्री में हों:
cd ~/codelab-genai - अपनी git रिपॉज़िटरी शुरू करें
git init -b main - GitHub CLI में लॉग इन करना
डिफ़ॉल्ट विकल्पों को स्वीकार करने के लिए,gh auth loginEnterदबाएं. इसके बाद, GitHub CLI टूल में दिए गए निर्देशों का पालन करें. इनमें ये शामिल हैं:- आपको किस खाते में लॉग इन करना है?
GitHub.com - इस होस्ट पर Git के ऑपरेशन के लिए, आपका पसंदीदा प्रोटोकॉल क्या है?
HTTPS - क्या आपको GitHub क्रेडेंशियल का इस्तेमाल करके Git की पुष्टि करनी है?
Y(अगर यह विकल्प नहीं दिखता है, तो इसे छोड़ें.) - GitHub CLI की पुष्टि करने के लिए, आपको कौनसी विधि इस्तेमाल करनी है?
Login with a web browser - एक बार इस्तेमाल होने वाला कोड कॉपी करें
- https://github.com/login/device खोलें
- एक बार इस्तेमाल किया जाने वाला कोड चिपकाएं
- Authorize github पर क्लिक करें
- लॉगिन की प्रोसेस पूरी करना
- आपको किस खाते में लॉग इन करना है?
- पुष्टि करें कि आपने लॉग इन किया हुआ है:
अगर आपने सही तरीके से लॉग इन किया है, तो इससे आपका GitHub उपयोगकर्ता नाम दिखेगा.gh api user -q ".login" GITHUB_USERNAMEवैरिएबल बनानाGITHUB_USERNAME=$(gh api user -q ".login")- पुष्टि करें कि आपने एनवायरमेंट वैरिएबल बनाया है:
अगर आपने वैरिएबल बना लिया है, तो इससे आपका GitHub उपयोगकर्ता नाम दिखेगा.echo ${GITHUB_USERNAME} codelab-genaiनाम की एक खाली GitHub रिपॉज़िटरी बनाएं: अगर आपको गड़बड़ी का यह मैसेज मिलता है:gh repo create codelab-genai --private इसका मतलब है कि आपके पासGraphQL: Name already exists on this account (createRepository)
codelab-genaiनाम की एक रिपॉज़िटरी पहले से मौजूद है. इस ट्यूटोरियल को जारी रखने के लिए, आपके पास ये दो विकल्प हैं:- मौजूदा GitHub रिपॉज़िटरी मिटाना
- किसी दूसरे नाम से एक रिपॉज़िटरी बनाएं. साथ ही, यहां दिए गए कमांड में उसका नाम बदलना न भूलें.
codelab-genaiरिपॉज़िटरी को रिमोटoriginके तौर पर जोड़ें:git remote add origin https://github.com/${GITHUB_USERNAME}/codelab-genai
9. अपना कोड शेयर करना
- पुष्टि करें कि आप सही डायरेक्ट्री में हैं:
cd ~/codelab-genai - मौजूदा डायरेक्ट्री में मौजूद सभी फ़ाइलों को इस कमिट में जोड़ें:
git add . - पहला कमिट बनाएं:
git commit -m "add http server" - अपने कमिट को
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/src/app/app.component.ts \n\n"
10. अपने-आप डिप्लॉय होने की सुविधा सेट अप करना
- Cloud Shell Editor टैब को खुला रहने दें. हम इस टैब पर बाद में वापस आएंगे.
- नए टैब में, Cloud Run पेज पर जाएं
- कंसोल में सही Google Cloud प्रोजेक्ट चुनें

- कनेक्ट रीपो पर क्लिक करें
- CLOUD BUILD की मदद से सेट अप करें
- पर क्लिक करें
- GitHub को Repository Provider के तौर पर चुनें
- अगर आपने ब्राउज़र में अपने GitHub खाते में लॉग इन नहीं किया है, तो अपने क्रेडेंशियल से लॉग इन करें.
- पुष्टि करें पर क्लिक करें. इसके बाद, जारी रखें पर क्लिक करें.
- लॉग इन करने के बाद, आपको Cloud Run पेज पर यह मैसेज दिखेगा: GitHub ऐप्लिकेशन, आपकी किसी भी रिपॉज़िटरी पर इंस्टॉल नहीं है.
- INSTALL GOOGLE CLOUD BUILD बटन पर क्लिक करें.
- इंस्टॉलेशन सेटअप पेज पर, सिर्फ़ चुनी गई रिपॉज़िटरी को चुनें. इसके बाद, codelab-genai रिपॉज़िटरी चुनें. इसे आपने सीएलआई की मदद से बनाया था.
- इंस्टॉल करें पर क्लिक करें
- ध्यान दें: अगर आपके पास बहुत सारे GitHub डेटाबेस हैं, तो इन्हें लोड होने में कुछ मिनट लग सकते हैं.
- डेटा स्टोर करने की जगह के तौर पर
your-user-name/codelab-genaiचुनें- अगर रिपॉज़िटरी मौजूद नहीं है, तो कनेक्ट की गई रिपॉज़िटरी मैनेज करें लिंक पर क्लिक करें.
- Branch को
^main$के तौर पर छोड़ें - Google Cloud के बिल्डपैक के ज़रिए Go, Node.js, Python, Java, .NET Core, Ruby या PHP पर क्लिक करें
- अन्य फ़ील्ड (
Build context directory,Entrypoint, औरFunction target) को वैसे ही रहने दें.
- अन्य फ़ील्ड (
- सेव करें पर क्लिक करें
- GitHub को Repository Provider के तौर पर चुनें
- नीचे की ओर स्क्रोल करके, पुष्टि पर जाएं
- बिना पुष्टि किए गए अनुरोधों को अनुमति दें पर क्लिक करें
- बनाएं पर क्लिक करें
बिल्ड पूरा होने के बाद (इसमें कई मिनट लगेंगे), यह कमांड चलाएं और नतीजे वाले यूआरएल पर जाकर, चल रहा ऐप्लिकेशन देखें:
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 को अब भी खुला रखा है, तो इन चरणों को छोड़ा जा सकता है.
- Cloud Shell Editor पर जाएं
- अगर टर्मिनल स्क्रीन पर सबसे नीचे नहीं दिखता है, तो इसे खोलें:
- हैमबर्गर मेन्यू
पर क्लिक करें - टर्मिनल पर क्लिक करें
- नया टर्मिनल
पर क्लिक करें
- हैमबर्गर मेन्यू
- टर्मिनल में, इस निर्देश का इस्तेमाल करके अपना प्रोजेक्ट सेट करें:
- फ़ॉर्मैट:
gcloud config set project [PROJECT_ID] - उदाहरण:
gcloud config set project lab-project-id-example - अगर आपको अपना प्रोजेक्ट आईडी याद नहीं है, तो:
- अपने सभी प्रोजेक्ट आईडी की सूची देखने के लिए, यह कमांड इस्तेमाल करें:
gcloud projects list | awk '/PROJECT_ID/{print $2}'

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

- आपको यह मैसेज दिखेगा:
अगर आपकोUpdated property [core/project].
WARNINGदिखता है और आपसेDo you want to continue (Y/N)?पूछा जाता है, तो इसका मतलब है कि आपने प्रोजेक्ट आईडी गलत डाला है.Nदबाएं,Enterदबाएं, औरgcloud config set projectनिर्देश को फिर से चलाने की कोशिश करें.
अपने ऐप्लिकेशन में Vertex AI जोड़ना
- स्क्रीन पर सबसे नीचे मौजूद Cloud Shell टर्मिनल पर वापस जाएं.
- पक्का करें कि आप अब भी सही डायरेक्ट्री में हों:
cd ~/codelab-genai - Node.js Vertex AI SDK इंस्टॉल करें:
npm install @google-cloud/vertexai - Node.js Google Auth SDK इंस्टॉल करें:
npm install google-auth-library - Cloud Shell Editor में
server.tsको फिर से खोलेंcloudshell edit server.ts - अपनी
server.tsफ़ाइल में मौजूद कोड को इससे बदलें:// server.ts import { APP_BASE_HREF } from '@angular/common'; import { CommonEngine } from '@angular/ssr'; import express from 'express'; import { fileURLToPath } from 'node:url'; import { dirname, join, resolve } from 'node:path'; import bootstrap from './src/main.server'; import { VertexAI } from '@google-cloud/vertexai'; import { GoogleAuth } from 'google-auth-library'; // The Express app is exported so that it can be used by serverless Functions. export function app(): express.Express { const server = express(); const serverDistFolder = dirname(fileURLToPath(import.meta.url)); const browserDistFolder = resolve(serverDistFolder, '../browser'); const indexHtml = join(serverDistFolder, 'index.server.html'); const commonEngine = new CommonEngine(); const auth = new GoogleAuth(); server.set('view engine', 'html'); server.set('views', browserDistFolder); // Example Express Rest API endpoints server.get('/api/facts', async (req, res) => { const project = await auth.getProjectId(); const vertex = new VertexAI({ project: project }); const generativeModel = vertex.getGenerativeModel({ model: 'gemini-1.5-flash', generationConfig: { responseMimeType: 'application/json' } }); const animal = req.query['animal'] || 'dog'; const prompt = `Give me 10 fun facts about ${animal}. 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); let factArray = ''; if (resp.response.candidates) { factArray = JSON.parse(resp.response.candidates[0].content.parts[0].text || ''); } res.send(factArray); }); // Serve static files from /browser server.get('**', express.static(browserDistFolder, { maxAge: '1y', index: 'index.html', })); // All regular routes use the Angular engine server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine .render({ bootstrap, documentFilePath: indexHtml, url: `${protocol}://${headers.host}${originalUrl}`, publicPath: browserDistFolder, providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }], }) .then((html) => res.send(html)) .catch((err) => next(err)); }); return server; } function run(): void { const port = process.env['PORT'] || 4000; // Start up the Node server const server = app(); server.listen(port, () => { console.log(`Node Express server listening on http://localhost:${port}`); }); } run(); - Cloud Shell Editor में
app.component.tsखोलेंcloudshell edit src/app/app.component.ts - अपनी
app.components.tsफ़ाइल में मौजूद कोड को इससे बदलें:// app.component.ts import { Component, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet, FormsModule], template: ` <section> <input type="text" placeholder="dog" [(ngModel)]="animal" class="text-black border-2 p-2 m-2 rounded" /> <button (click)="getNewFunFacts()" > Get New Fun Facts </button> <ol> @for(fact of facts(); track fact) { <li>{{fact}}</li> } @empty { <li>No facts are available</li> } </ol> </section> `, styles: '', }) export class AppComponent { animal = ''; facts = signal<string[]>([]); getNewFunFacts() { fetch(`/api/facts?animal=${this.animal}`).then(response => response.json()).then(facts => { this.facts.set(facts); }); } }
12. फिर से डिप्लॉय करें
- पक्का करें कि आप अब भी Cloud Shell में सही डायरेक्ट्री में हों:
cd ~/codelab-genai - अपने ऐप्लिकेशन के नए वर्शन को अपनी लोकल Git रिपॉज़िटरी में सेव करने के लिए, इन कमांड को चलाएं:
git add . git commit -m "add latest changes" - बदलावों को GitHub पर पुश करें:
git push - बिल्ड पूरा होने के बाद, यह निर्देश चलाएं और डिप्लॉय किए गए ऐप्लिकेशन पर जाएं:
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 के लिए, एडमिन के ऑडिट लॉग डिफ़ॉल्ट रूप से चालू होते हैं. कॉन्टेंट जनरेट करने के अनुरोधों का ऑडिट करने के लिए, आपको डेटा ऐक्सेस ऑडिट लॉग चालू करने होंगे:
- Google Cloud Console में, ऑडिट लॉग पेज पर जाएं:
अगर आपको इस पेज को खोजने के लिए खोज बार का इस्तेमाल करना है, तो उस नतीजे को चुनें जिसकी सबहेडिंग IAM और एडमिन है. - पक्का करें कि मौजूदा Google Cloud प्रोजेक्ट वही हो जिसमें आपको Cloud Run ऐप्लिकेशन बनाना है.
- डेटा ऐक्सेस के ऑडिट लॉग का कॉन्फ़िगरेशन टेबल में, सेवा कॉलम में जाकर
Vertex AI APIचुनें. - लॉग टाइप टैब में, डेटा ऐक्सेस ऑडिट लॉग टाइप
Admin readऔरData readचुनें. - सेव करें पर क्लिक करें.
इसे चालू करने के बाद, आपको ऐप्लिकेशन के हर इनवोकेशन के लिए ऑडिट लॉग दिखेंगे. ऑडिट लॉग में, फ़ंक्शन को कॉल करने की जानकारी देखने के लिए, यह तरीका अपनाएं:
- डिप्लॉय किए गए ऐप्लिकेशन पर वापस जाएं और लॉग को ट्रिगर करने के लिए, पेज को रीफ़्रेश करें.
- Google Cloud Console में, लॉग एक्सप्लोरर पेज पर जाएं:
- क्वेरी विंडो में टाइप करें:
LOG_ID("cloudaudit.googleapis.com%2Fdata_access") protoPayload.serviceName="aiplatform.googleapis.com" - क्वेरी चलाएं पर क्लिक करें.
ऑडिट लॉग में, Vertex AI API के इस्तेमाल की जानकारी सेव होती है. हालांकि, इससे आपको वर्कलोड से जुड़ा डेटा नहीं मिलता. जैसे, प्रॉम्प्ट या जवाब की जानकारी.
14. (ज़रूरी नहीं) एआई वर्कलोड की निगरानी बढ़ाना
ऑडिट लॉग में, वर्कलोड से जुड़ी जानकारी कैप्चर नहीं की जाती. अपने वर्कलोड की निगरानी को बेहतर बनाने के लिए, आपको इस जानकारी को साफ़ तौर पर लॉग करना होगा. इसके लिए, अपने पसंदीदा लॉगिंग फ़्रेमवर्क का इस्तेमाल किया जा सकता है. यहां Node.js के नेटिव लॉगिंग सिस्टम का इस्तेमाल करके, ऐसा करने का तरीका बताया गया है.
- Cloud Shell Editor में
server.tsको फिर से खोलेंcloudshell edit ~/codelab-genai/server.ts 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 में लिखता है.- Cloud Shell को फिर से खोलें और यह पक्का करने के लिए कि आप सही डायरेक्ट्री में हैं, यह कमांड टाइप करें:
cd ~/codelab-genai - बदलावों को सेव करें:
git commit -am "observe generated content" - बदलाव किए गए वर्शन को फिर से डिप्लॉय करने के लिए, GitHub पर बदलावों को पुश करें:
git push
नया वर्शन डिप्लॉय होने के बाद, Vertex AI को किए गए कॉल के बारे में डीबग जानकारी देखी जा सकती है.
अपने ऐप्लिकेशन के लॉग देखने के लिए, यह तरीका अपनाएं:
- Google Cloud Console में, लॉग एक्सप्लोरर पेज पर जाएं:
- क्वेरी विंडो में टाइप करें:
LOG_ID("run.googleapis.com%2Fstdout") severity=DEBUG - क्वेरी चलाएं पर क्लिक करें.
क्वेरी के नतीजे में, प्रॉम्प्ट और Vertex AI के जवाब वाले लॉग दिखते हैं. इनमें "सुरक्षा रेटिंग" भी शामिल होती हैं. इनका इस्तेमाल, सुरक्षा के तरीकों की निगरानी के लिए किया जा सकता है
15. (ज़रूरी नहीं) साफ़ करना
Cloud Run, सेवा का इस्तेमाल न किए जाने पर कोई शुल्क नहीं लेता. हालांकि, Artifact Registry में कंटेनर इमेज सेव करने के लिए आपसे शुल्क लिया जा सकता है. शुल्क से बचने के लिए, अपना Cloud प्रोजेक्ट मिटाया जा सकता है. Cloud प्रोजेक्ट मिटाने पर, उस प्रोजेक्ट में इस्तेमाल किए गए सभी संसाधनों के लिए बिलिंग बंद हो जाती है.
अगर आपको प्रोजेक्ट मिटाना है, तो यह तरीका अपनाएं:
gcloud projects delete $GOOGLE_CLOUD_PROJECT
आपके पास Cloud Shell डिस्क से, ग़ैर-ज़रूरी संसाधन मिटाने का विकल्प भी होता है. ये काम किए जा सकते हैं:
- कोड लैब प्रोजेक्ट की डायरेक्ट्री मिटाएं:
rm -rf ~/codelab-genai - चेतावनी! इस कार्रवाई को पहले जैसा नहीं किया जा सकता! अगर आपको जगह खाली करने के लिए, Cloud Shell पर मौजूद सभी फ़ाइलें मिटानी हैं, तो अपनी पूरी होम डायरेक्ट्री मिटाएं. ध्यान रखें कि आपको जो भी डेटा सेव रखना है उसे किसी दूसरी जगह पर सेव कर लिया गया हो.
sudo rm -rf $HOME
16. बधाई हो
इस लैब में, आपने एक वेब ऐप्लिकेशन लिखा और Cloud Run को कॉन्फ़िगर किया. इससे आपके ऐप्लिकेशन के सोर्स कोड में बदलाव होने पर, आपका ऐप्लिकेशन अपने-आप डिप्लॉय हो जाता है. इसके बाद, आपने अपने ऐप्लिकेशन में बदलाव किया और उसे फिर से डिप्लॉय किया.
अगर आपको यह लैब पसंद आया, तो इसे किसी दूसरी कोडिंग भाषा या फ़्रेमवर्क में फिर से आज़माएं:
अगर आपको यूज़र एक्सपीरियंस (यूएक्स) से जुड़ी रिसर्च स्टडी में शामिल होना है, ताकि आज इस्तेमाल किए गए प्रॉडक्ट को बेहतर बनाया जा सके, तो यहां रजिस्टर करें.
सीखना जारी रखने के लिए, यहां कुछ विकल्प दिए गए हैं:
- Docs: Genkit का इस्तेमाल, मॉडल के ऐब्स्ट्रैक्शन के तौर पर करें. इससे किसी भी मॉडल एपीआई को इंटिग्रेट करना और कम्यूनिटी के बनाए गए मॉडल इस्तेमाल करना आसान हो जाता है.
- कोडलैब: Cloud Run पर Gemini की मदद से काम करने वाला चैट ऐप्लिकेशन डिप्लॉय करने का तरीका
- Cloud Run के साथ Gemini की फ़ंक्शन कॉलिंग सुविधा का इस्तेमाल कैसे करें
- वीडियो के हर सीन को प्रोसेस करने के लिए, Cloud Run Jobs Video Intelligence API का इस्तेमाल कैसे करें
- मांग पर उपलब्ध वर्कशॉप: Google Kubernetes Engine Onboard