इस गाइड में, दूसरी जनरेशन Cloud Functions के साथ सर्वर-साइड Remote Config का इस्तेमाल शुरू करने का तरीका बताया गया है. इससे सर्वर-साइड कॉल किए जा सकते हैं Vertex AI Gemini API.
इस ट्यूटोरियल में, Remote Config को चैटबॉट जैसे किसी फ़ंक्शन में जोड़ा जाएगा. यह फ़ंक्शन, Gemini मॉडल का इस्तेमाल करके उपयोगकर्ता के सवालों के जवाब देता है. Remote Config मैनेज करेगा. इनमें, ऐसा प्रॉम्प्ट भी शामिल है जिसे आने वाली उपयोगकर्ता की क्वेरी में जोड़ा जाएगा. साथ ही, Firebase कंसोल से इन इनपुट को ऑन-डिमांड अपडेट किया जा सकता है.Gemini API फ़ंक्शन की जांच करने और उसमें मौजूद गड़बड़ियों को ठीक करने के लिए, Firebase Local Emulator Suite का इस्तेमाल किया जाएगा. इसके बाद, यह पुष्टि करने के बाद कि यह काम कर रहा है, इसे Google Cloud पर डिप्लॉय और टेस्ट किया जाएगा.
ज़रूरी शर्तें
यह गाइड इस बात को ध्यान में रखकर बनाई गई है कि आपको ऐप्लिकेशन डेवलप करने के लिए JavaScript का इस्तेमाल करना आता है.
Firebase प्रोजेक्ट सेट अप करना
अगर आपके पास पहले से कोई Firebase प्रोजेक्ट नहीं है, तो:
**प्रोजेक्ट बनाएं** पर क्लिक करें. इसके बाद, इनमें से कोई एक विकल्प चुनें:
- पहला विकल्प: "प्रोजेक्ट बनाएं" वर्कफ़्लो के पहले चरण में, प्रोजेक्ट का नया नाम डालकर, नया Firebase प्रोजेक्ट बनाएं. इससे जुड़ा Google Cloud प्रोजेक्ट अपने-आप बन जाएगा.
- दूसरा विकल्प: "प्रोजेक्ट बनाएं" वर्कफ़्लो के पहले चरण में, ड्रॉप-डाउन मेन्यू से अपना Google Cloud प्रोजेक्ट का नाम चुनकर, मौजूदा Google Cloud प्रोजेक्ट में "Firebase जोड़ें".
इस समाधान का इस्तेमाल करने के लिए, आपको Google Analytics सेट अप करने की ज़रूरत नहीं है.
अपना प्रोजेक्ट बनाने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
अगर आपके पास पहले से कोई Firebase प्रोजेक्ट है, तो:
डेवलपमेंट एनवायरमेंट को कॉन्फ़िगर करने का तरीका देखें.
डेवलपमेंट एनवायरमेंट को कॉन्फ़िगर करना
फ़ंक्शन लिखने के लिए, आपको Node.js एनवायरमेंट की ज़रूरत होगी. साथ ही, रनटाइम पर फ़ंक्शन डिप्लॉय करने के लिए, आपको Firebase CLI की ज़रूरत होगी.Cloud Functions
-
Node.js और npm इंस्टॉल करने के लिए, हमारा सुझाव है कि Node Version Manager का इस्तेमाल करें.
अपनी पसंद के तरीके से Firebase CLI इंस्टॉल करें. उदाहरण के लिए, npm का इस्तेमाल करके सीएलआई इंस्टॉल करने के लिए, यह निर्देश दें:
npm install -g firebase-tools@latestइस निर्देश से, दुनिया भर में उपलब्ध
firebaseनिर्देश इंस्टॉल हो जाता है. अगर यह निर्देश काम नहीं करता है, तो आपको npm की अनुमतियां बदलनी पड़ सकती हैं.firebase-toolsके नए वर्शन पर अपडेट करने के लिए, वही निर्देश फिर से दें.firebase-functionsऔरfirebase-adminइंस्टॉल करें. साथ ही, इन्हें अपनेpackage.jsonमें सेव करने के लिए,--saveका इस्तेमाल करें:npm install firebase-functions@latest firebase-admin@latest --save
अब इस समाधान को लागू किया जा सकता है.
लागू करना
Remote Config और Vertex AI के साथ दूसरी जनरेशन के Cloud Functions बनाने, टेस्ट करने, और डिप्लॉय करने के लिए, यह तरीका अपनाएं:
- Google Cloud कंसोलGoogle Cloud में, Vertex AI के सुझाए गए एपीआई चालू करें.
- अपने प्रोजेक्ट को शुरू करें और Node की डिपेंडेंसी इंस्टॉल करें.
- अपने Admin SDK सेवा खाते के लिए, आईएएम की अनुमतियां कॉन्फ़िगर करें और अपनी कुंजी सेव करें.
- फ़ंक्शन बनाएं.
- सर्वर के लिए, Remote Config टेंप्लेट बनाएं.
- अपने फ़ंक्शन को डिप्लॉय करें औरFirebase Local Emulator Suite में टेस्ट करें.
- अपने फ़ंक्शन को Google Cloud पर डिप्लॉय करें.
पहला चरण: Vertex AI कंसोल में, Google Cloud के सुझाए गए एपीआई चालू करना
- Google Cloud कंसोल खोलें. इसके बाद, पूछे जाने पर अपना प्रोजेक्ट चुनें.
- कंसोल में सबसे ऊपर मौजूद खोजें फ़ील्ड में, Vertex AI डालें और Vertex AI के नतीजे के तौर पर दिखने का इंतज़ार करें.
- Vertex AI चुनें. Vertex AI डैशबोर्ड दिखता है.
सुझाए गए सभी एपीआई चालू करें पर क्लिक करें.
एपीआई को चालू होने में कुछ समय लग सकता है. जब तक एपीआई चालू नहीं हो जाता, तब तक पेज को चालू और खुला रखें.
अगर बिलिंग चालू नहीं है, तो आपको Cloud Billing खाता जोड़ने या लिंक करने के लिए कहा जाएगा. बिलिंग खाता चालू करने के बाद, Vertex AI डैशबोर्ड पर वापस जाएं और पुष्टि करें कि सुझाए गए सभी एपीआई चालू हैं.
दूसरा चरण: अपने प्रोजेक्ट को शुरू करना और Node की डिपेंडेंसी इंस्टॉल करना
- अपने कंप्यूटर पर एक टर्मिनल खोलें और उस डायरेक्ट्री पर जाएं जहां आपको अपना फ़ंक्शन बनाना है.
Firebase में लॉग इन करें:
firebase loginCloud Functions for Firebase को शुरू करने के लिए, यह निर्देश दें:
firebase init functionsमौजूदा प्रोजेक्ट का इस्तेमाल करें को चुनें और अपना प्रोजेक्ट आईडी डालें.
इस्तेमाल की जाने वाली भाषा चुनने के लिए कहे जाने पर, Javascript चुनें और Enter दबाएं.
अन्य सभी विकल्पों के लिए, डिफ़ॉल्ट सेटिंग चुनें.
मौजूदा डायरेक्ट्री में,
functionsडायरेक्ट्री बन जाती है. इसमें, आपकोindex.jsफ़ाइल मिलेगी. इसका इस्तेमाल करके, अपना फ़ंक्शन बनाया जा सकता है. साथ ही,node_modulesडायरेक्ट्री मिलेगी, जिसमें आपके फ़ंक्शन की डिपेंडेंसी शामिल होती हैं. इसके अलावा,package.jsonफ़ाइल मिलेगी, जिसमें पैकेज की डिपेंडेंसी शामिल होती हैं.Admin SDK और Vertex AI पैकेज जोड़ने के लिए, ये निर्देश दें. साथ ही, यह पक्का करने के लिए
--saveका इस्तेमाल करें कि यह आपकीpackage.jsonफ़ाइल में सेव हो गया है:cd functions npm install firebase-admin@latest @google-cloud/vertexai --save
आपकी functions/package.json फ़ाइल अब इस तरह दिखनी चाहिए. इसमें, सबसे नए वर्शन की जानकारी दी गई हो:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "20"
},
"main": "index.js",
"dependencies": {
"@google-cloud/vertexai": "^1.1.0",
"firebase-admin": "^12.1.0",
"firebase-functions": "^5.0.0"
},
"devDependencies": {
"firebase-functions-test": "^3.1.0"
},
"private": true
}
ध्यान दें कि अगर ESLint का इस्तेमाल किया जा रहा है, तो आपको एक स्टैंज़ा दिखेगा, जिसमें यह शामिल होगा. इसके
अलावा, पक्का करें कि नोड इंजन का वर्शन, Node.js के इंस्टॉल किए गए वर्शन
और Google Cloud पर चलने वाले वर्शन से मेल खाता हो. उदाहरण के लिए, अगर आपकी package.json में engines स्टैंज़ा, नोड वर्शन 18 के तौर पर कॉन्फ़िगर किया गया है और Node.js 20 का इस्तेमाल किया जा रहा है, तो फ़ाइल को अपडेट करके 20 का इस्तेमाल करें:
"engines": {
"node": "20"
},
तीसरा चरण: आपके Admin SDK सेवा खाते के लिए, आईएएम की अनुमतियां कॉन्फ़िगर करना और अपनी कुंजी सेव करना
इस समाधान में, अपने फ़ंक्शन को चलाने के लिए, Firebase Admin SDK सेवा खाते का इस्तेमाल किया जाएगा.
- Google Cloud कंसोल में, IAM और एडमिन पेज खोलें.
इसके बाद, Admin SDK सेवा खाते को ढूंढें. इसका नाम
firebase-adminsdkहै. - खाता चुनें और प्रिंसिपल में बदलाव करें पर क्लिक करें. ऐक्सेस में बदलाव करें पेज दिखता है.
- **अन्य भूमिका जोड़ें** पर क्लिक करें. इसके बाद, **Remote Config व्यूअर** को चुनें.
- **अन्य भूमिका जोड़ें** पर क्लिक करें. इसके बाद, **एआई प्लैटफ़ॉर्म डेवलपर** को चुनें.
- **अन्य भूमिका जोड़ें** पर क्लिक करें. इसके बाद, **Vertex AI उपयोगकर्ता** को चुनें.
- **अन्य भूमिका जोड़ें** पर क्लिक करें. इसके बाद, **Cloud Run इन्वोकर** को चुनें.
- सेव करें पर क्लिक करें.
इसके बाद, Admin SDK सेवा खाते के क्रेडेंशियल एक्सपोर्ट करें और उन्हें अपने GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल में सेव करें.
- Google Cloud कंसोल में, क्रेडेंशियल पेज खोलें.
- जानकारी पेज खोलने के लिए, Admin SDK के सेवा खाते पर क्लिक करें.
- कुंजियां पर क्लिक करें.
- कुंजी जोड़ें > नई कुंजी बनाएं पर क्लिक करें.
- पक्का करें कि कुंजी का टाइप के तौर पर JSON चुना गया हो. इसके बाद, बनाएं पर क्लिक करें.
- कुंजी को अपने कंप्यूटर पर किसी सुरक्षित जगह पर डाउनलोड करें.
अपने टर्मिनल से, कुंजी को एनवायरमेंट वैरिएबल के तौर पर एक्सपोर्ट करें:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"
चौथा चरण: फ़ंक्शन बनाना
इस चरण में, एक ऐसा फ़ंक्शन बनाया जाएगा जो उपयोगकर्ता के इनपुट को मैनेज करता है और एआई की मदद से जवाब जनरेट करता है. कई कोड स्निपेट को मिलाकर, एक ऐसा फ़ंक्शन बनाया जाएगा जो Admin SDK और Vertex AI Gemini API को शुरू करता है, Remote Config का इस्तेमाल करके डिफ़ॉल्ट पैरामीटर कॉन्फ़िगर करता है, Remote Config के नए पैरामीटर फ़ेच करता है, उपयोगकर्ता के इनपुट को प्रोसेस करता है, और उपयोगकर्ता को जवाब स्ट्रीम करता है.
- अपने कोडबेस में, किसी टेक्स्ट एडिटर या IDE में
functions/index.jsखोलें. मौजूदा कॉन्टेंट मिटाएं. इसके बाद, Admin SDK, Remote Config, और Vertex AI SDK जोड़ें. साथ ही, ऐप्लिकेशन को शुरू करने के लिए, फ़ाइल में यह कोड चिपकाएं:
const { onRequest } = require("firebase-functions/https"); const logger = require("firebase-functions/logger"); const { initializeApp } = require("firebase-admin/app"); const { VertexAI } = require('@google-cloud/vertexai'); const { getRemoteConfig } = require("firebase-admin/remote-config"); // Set and check environment variables. const project = process.env.GCLOUD_PROJECT; // Initialize Firebase. const app = initializeApp();डिफ़ॉल्ट वैल्यू कॉन्फ़िगर करें. अगर आपका फ़ंक्शन, Remote Config सर्वर से कनेक्ट नहीं हो पाता है, तो वह इन वैल्यू का इस्तेमाल करेगा. इस समाधान में,
textModel,generationConfig,safetySettings,textPrompt, औरlocationको Remote Config के पैरामीटर के तौर पर कॉन्फ़िगर किया जाता है. ये पैरामीटर, Remote Config के उन पैरामीटर से मेल खाते हैं जिन्हें इस गाइड में आगे कॉन्फ़िगर किया जाएगा. इन पैरामीटर के बारे में ज़्यादा जानकारी के लिए, देखें Vertex AI Node.js क्लाइंट.ज़रूरत पड़ने पर, एक ऐसा पैरामीटर भी कॉन्फ़िगर किया जा सकता है जिससे यह कंट्रोल किया जा सके कि आपको Vertex AI Gemini API को ऐक्सेस करना है या नहीं. इस उदाहरण में,
vertex_enabledनाम का पैरामीटर इस्तेमाल किया गया है. अपने फ़ंक्शन की जांच करते समय, यह सेटअप काम आ सकता है. यहां दिए गए कोड स्निपेट में, इस वैल्यू कोfalseपर सेट किया गया है. इससे, फ़ंक्शन को सामान्य तरीके से डिप्लॉय करने की जांच करते समय, Vertex AI का इस्तेमाल नहीं किया जाएगा. इसेtrueपर सेट करने से, Vertex AI Gemini API शुरू हो जाएगा.// Define default (fallback) parameter values for Remote Config. const defaultConfig = { // Default values for Vertex AI. model_name: "gemini-1.5-flash-002", generation_config: [{ "stopSequences": [], "temperature": 0.7, "maxOutputTokens": 64, "topP": 0.1, "topK": 20 }], prompt: "I'm a developer who wants to learn about Firebase and you are a \ helpful assistant who knows everything there is to know about Firebase!", safety_settings: [{ "category": "HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE" }], location: 'us-central1', // Disable Vertex AI Gemini API access for testing. vertex_enabled: false };फ़ंक्शन बनाएं और सर्वर-साइड Remote Config सेट अप करें:
// Export the function. exports.generateWithVertex = onRequest(async (request, response) => { try { // Set up Remote Config. const rc = getRemoteConfig(app); // Get the Remote Config template and assign default values. const template = await rc.getServerTemplate({ defaultConfig: defaultConfig }); // Add the template evaluation to a constant. const config = template.evaluate(); // Obtain values from Remote Config. const textModel = config.getString("model_name") || defaultConfig.model_name; const textPrompt = config.getString("prompt") || defaultConfig.prompt; const generationConfig = config.getString("generation_config") || defaultConfig.generation_config; const safetySettings = config.getString("safety_settings") || defaultConfig.safety_settings; const location = config.getString("location") || defaultConfig.location; const vertexEnabled = config.getBoolean("is_vertex_enabled") || defaultConfig.vertex_enabled;Vertex AI सेट अप करें और चैट और जवाब की लॉजिक जोड़ें:
// Allow user input. const userInput = request.query.prompt || ''; // Instantiate Vertex AI. const vertex_ai = new VertexAI({ project: project, location: location }); const generativeModel = vertex_ai.getGenerativeModel({ model: textModel, safety_settings: safetySettings, generation_config: generationConfig, }); // Combine prompt from Remote Config with optional user input. const chatInput = textPrompt + " " + userInput; if (!chatInput) { return res.status(400).send('Missing text prompt'); } // If vertexEnabled isn't true, do not send queries to Vertex AI. if (vertexEnabled !== true) { response.status(200).send({ message: "Vertex AI call skipped. Vertex is not enabled." }); return; } logger.log("\nRunning with model ", textModel, ", prompt: ", textPrompt, ", generationConfig: ", generationConfig, ", safetySettings: ", safetySettings, " in ", location, "\n"); const result = await generativeModel.generateContentStream(chatInput); response.writeHead(200, { 'Content-Type': 'text/plain' }); for await (const item of result.stream) { const chunk = item.candidates[0].content.parts[0].text; logger.log("Received chunk:", chunk); response.write(chunk); } response.end(); } catch (error) { logger.error(error); response.status(500).send('Internal server error'); } });फ़ाइल सेव करें और बंद करें.
पांचवां चरण: सर्वर के लिए, Remote Config टेंप्लेट बनाना
इसके बाद, सर्वर-साइड Remote Config का टेंप्लेट बनाएं. साथ ही, अपने फ़ंक्शन में इस्तेमाल करने के लिए, पैरामीटर और वैल्यू कॉन्फ़िगर करें. सर्वर के लिए, Remote Config टेंप्लेट बनाने के लिए:
- Firebase कंसोल खोलें. इसके बाद, नेविगेशन मेन्यू में जाकर, चलाएं को बड़ा करें और Remote Config चुनें.
Remote Config पेज पर सबसे ऊपर मौजूद, क्लाइंट/सर्वर सिलेक्टर से सर्वर चुनें.
- अगर Remote Config या सर्वर टेंप्लेट का इस्तेमाल पहली बार किया जा रहा है, तो कॉन्फ़िगरेशन बनाएं पर क्लिक करें. सर्वर-साइड का अपना पहला पैरामीटर बनाएं पैनल दिखता है.
- अगर Remote Config सर्वर टेंप्लेट का इस्तेमाल पहली बार नहीं किया जा रहा है, तो **पैरामीटर जोड़ें** पर क्लिक करें.
ये Remote Config पैरामीटर तय करें:
पैरामीटर का नाम ब्यौरा टाइप डिफ़ॉल्ट वैल्यू model_nameमॉडल का नाम
अपने कोड में इस्तेमाल किए जाने वाले मॉडल के नामों की अप-टू-डेट सूची के लिए, देखें मॉडल के वर्शन और लाइफ़साइकल या उपलब्ध मॉडल के नाम.स्ट्रिंग gemini-2.0-flashpromptउपयोगकर्ता की क्वेरी में जोड़ा जाने वाला प्रॉम्प्ट. स्ट्रिंग I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!generation_configमॉडल को भेजे जाने वाले पैरामीटर. JSON [{"stopSequences": ["I hope this helps"],"temperature": 0.7,"maxOutputTokens": 512, "topP": 0.1,"topK": 20}]safety_settingsVertex AI के लिए Vertex AIसुरक्षा सेटिंग. JSON [{"category": "HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "HarmBlockThreshold.BLOCK_LOW_AND_ABOVE"}]locationजगह Vertex AI सेवा और मॉडल को चलाने के लिए. स्ट्रिंग us-central1is_vertex_enabledज़रूरी नहीं पैरामीटर. इससे यह कंट्रोल किया जाता है कि क्वेरी, Vertex AI को भेजी जाएं या नहीं. बूलियन trueपैरामीटर जोड़ने के बाद, अपने पैरामीटर और उनके डेटा टाइप की दोबारा जांच करें. इसके बाद, बदलाव पब्लिश करें पर क्लिक करें.
छठा चरण: अपने फ़ंक्शन को Firebase Local Emulator Suite में डिप्लॉय करना और टेस्ट करना
अब Firebase Local Emulator Suite की मदद से, अपने फ़ंक्शन को स्थानीय तौर पर डिप्लॉय और टेस्ट किया जा सकता है. Firebase Local Emulator Suite
पक्का करें कि आपने
GOOGLE_APPLICATION_CREDENTIALSको एनवायरमेंट वैरिएबल के तौर पर सेट किया हो. इसके लिए, तीसरा चरण: Admin SDK के सेवा खाते के लिए, आईएएम की अनुमतियां कॉन्फ़िगर करना और अपनी कुंजी सेव करना में बताया गया तरीका अपनाएं.Admin SDK इसके बाद, अपनीfunctionsडायरेक्ट्री की पैरंट डायरेक्ट्री से, अपने फ़ंक्शन को Firebase एम्युलेटर पर डिप्लॉय करें:firebase emulators:start --project PROJECT_ID --only functionsएम्युलेटर का लॉग पेज खोलें. इससे पता चलेगा कि आपका फ़ंक्शन लोड हो गया है.
अपना फ़ंक्शन ऐक्सेस करने के लिए, यह निर्देश दें. इसमें PROJECT_ID आपका प्रोजेक्ट आईडी है और LOCATION वह इलाका है जहां आपने फ़ंक्शन डिप्लॉय किया है. उदाहरण के लिए,
us-central1:curl http://localhost:5001/PROJECT_ID/LOCATION/generateWithVertexजवाब मिलने का इंतज़ार करें. इसके बाद, Firebase Emulator के लॉग पेज या अपने कंसोल पर वापस जाएं और गड़बड़ियां या चेतावनियां देखें.
उपयोगकर्ता का कुछ इनपुट भेजकर देखें. ध्यान दें कि आपके Remote Config सर्वर टेंप्लेट में
is_vertex_enabledकॉन्फ़िगर किया गया है. इसलिए, इससे Vertex AI Gemini API के ज़रिए Gemini मॉडल को ऐक्सेस किया जाना चाहिए. साथ ही, इसके लिए शुल्क लग सकता है:curl http://localhost:5001/PROJECT_ID/LOCATION/generateWithVertex?prompt=Tell%20me%20everything%20you%20know%20about%20catsकंसोल पर, Remote Config सर्वर टेंप्लेट में बदलाव करें. इसके बाद, बदलाव देखने के लिए, अपने फ़ंक्शन को फिर से ऐक्सेस करें.Firebase
सातवां चरण: अपने फ़ंक्शन को Google Cloud पर डिप्लॉय करना
अपने फ़ंक्शन को टेस्ट करने और उसकी पुष्टि करने के बाद, उसे Google Cloud पर डिप्लॉय किया जा सकता है. साथ ही, लाइव फ़ंक्शन को टेस्ट किया जा सकता है.
अपना फ़ंक्शन डिप्लॉय करना
Firebase CLI का इस्तेमाल करके, अपना फ़ंक्शन डिप्लॉय करें:
firebase deploy --only functions
फ़ंक्शन को बिना पुष्टि किए ऐक्सेस करने से रोकना
Firebase का इस्तेमाल करके फ़ंक्शन डिप्लॉय करने पर, बिना पुष्टि किए शुरू करने की अनुमति डिफ़ॉल्ट रूप से मिलती है. हालांकि, अगर आपके संगठन की नीति में इस पर पाबंदी नहीं है, तो ही ऐसा होता है. टेस्टिंग के दौरान और App Check की मदद से सुरक्षित करने से पहले, हम सुझाव देते हैं कि बिना पुष्टि किए ऐक्सेस करने से रोकें.
फ़ंक्शन को बिना पुष्टि किए ऐक्सेस करने से रोकने के लिए:
Google Cloud कंसोल में, Cloud Run खोलें.
generateWithVertexपर क्लिक करें. इसके बाद, सुरक्षा टैब पर क्लिक करें.पुष्टि ज़रूरी है को चालू करें. इसके बाद, सेव करें पर क्लिक करें.
सेवा खाते के क्रेडेंशियल का इस्तेमाल करने के लिए, अपना उपयोगकर्ता खाता कॉन्फ़िगर करनाAdmin SDK
Admin SDK सेवा खाते के पास, फ़ंक्शन चलाने और Remote Config और Vertex AI Gemini API के साथ इंटरैक्ट करने के लिए ज़रूरी सभी भूमिकाएं और अनुमतियां होती हैं. इसलिए, अपने फ़ंक्शन को चलाने के लिए, इसका इस्तेमाल करना बेहतर है. इसके लिए, आपके पास अपने उपयोगकर्ता खाते से, खाते के लिए टोकन बनाने की अनुमति होनी चाहिए.
उपयोगकर्ता खाते और फ़ंक्शन को, Admin SDK सेवा खाते के खास अधिकारों के साथ चलाने के लिए, उन्हें कॉन्फ़िगर करने का तरीका यहां बताया गया है.
- Google Cloud कंसोल में, IAM सर्विस अकाउंट क्रेडेंशियल एपीआई को चालू करें.
- अपने उपयोगकर्ता खाते को सेवा खाता टोकन क्रिएटर की भूमिका दें: Google Cloud कंसोल में, IAM और एडमिन > IAM खोलें. इसके बाद, अपना उपयोगकर्ता खाता चुनें और प्रिंसिपल में बदलाव करें > अन्य भूमिका जोड़ें पर क्लिक करें.
**सेवा खाता टोकन क्रिएटर** को चुनें. इसके बाद, **सेव करें** पर क्लिक करें.
सेवा खाते के डुप्लीकेट के बारे में ज़्यादा जानकारी के लिए, सेवा खाते के डुप्लीकेट के दस्तावेज़ में देखें.Google Cloud
Google Cloud कंसोल Cloud Functions पेज खोलें. इसके बाद, फ़ंक्शन सूची में, generateWithVertex फ़ंक्शन पर क्लिक करें.
ट्रिगर > बदलाव करें को चुनें. इसके बाद, रनटाइम, बिल्ड, कनेक्शन, और सुरक्षा सेटिंग को बड़ा करें.
रनटाइम टैब में, रनटाइम सेवा खाता को Admin SDK खाता में बदलें.
आगे बढ़ें पर क्लिक करें. इसके बाद, डिप्लॉय करें पर क्लिक करें.
gcloud सीएलआई सेट अप करना
कमांड लाइन से अपने फ़ंक्शन को सुरक्षित तरीके से चलाने और टेस्ट करने के लिए, आपको Cloud Functions सेवा से पुष्टि करनी होगी. साथ ही, पुष्टि करने का मान्य टोकन पाना होगा.
टोकन जनरेट करने की सुविधा चालू करने के लिए, gcloud सीएलआई इंस्टॉल और कॉन्फ़िगर करें:
अपने Google Cloud खाते के लिए, ऐक्सेस क्रेडेंशियल पाएं:
gcloud auth logingcloud में अपना प्रोजेक्ट आईडी सेट करें:
gcloud config set project PROJECT_ID
अपने फ़ंक्शन को टेस्ट करना
अब Google Cloud में अपने फ़ंक्शन को टेस्ट किया जा सकता है. फ़ंक्शन को टेस्ट करने के लिए, यह निर्देश दें:
curl -X POST https://LOCATION-PROJECT_ID.cloudfunctions.net/generateWithVertex \
-H "Authorization: bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json"
उपयोगकर्ता से मिले डेटा के साथ फिर से कोशिश करें:
curl -X POST https://LOCATION-PROJECT_ID.cloudfunctions.net/generateWithVertex?prompt=Tell%20me%20everything%20you%20know%20about%20dogs \
-H "Authorization: bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json"
अब Remote Config सर्वर टेंप्लेट में बदलाव किए जा सकते हैं. साथ ही, उन बदलावों को पब्लिश किया जा सकता है और अलग-अलग विकल्पों को टेस्ट किया जा सकता है.
अगले चरण
- Firebase, Cloud Functions को सुरक्षित करने के लिए, App Check का इस्तेमाल करने का सुझाव देता है. अपनी सुविधा को सुरक्षित करने के बारे में ज़्यादा जानकारी के लिए, लागू करने की सुविधा चालू करना लेख पढ़ेंApp CheckApp CheckCloud Functions
- सर्वर-साइड Remote Config और App Check के साथ, कॉल किए जा सकने वाले फ़ंक्शन का सैंपल आज़माएं. इसके लिए, Vertex AI Gemini API को Remote Config और App Check की मदद से कॉल करना लेख पढ़ें.
- Cloud Functions for Firebase के बारे में ज़्यादा जानें.
- सर्वर एनवायरमेंट में का इस्तेमाल करने के बारे में ज़्यादा जानें.Remote Config