1. खास जानकारी
डेटाबेस के लिए Gen AI टूलबॉक्स, Google का एक ओपन सोर्स सर्वर है. इसकी मदद से, डेटाबेस के साथ इंटरैक्ट करने के लिए Gen AI टूल आसानी से बनाए जा सकते हैं. इससे, कनेक्शन पूल करने, पुष्टि करने वगैरह जैसी मुश्किल प्रक्रियाओं को मैनेज करके, टूल को आसानी से, तेज़ी से, और ज़्यादा सुरक्षित तरीके से डेवलप किया जा सकता है. इससे आपको जनरेटिव एआई टूल बनाने में मदद मिलती है. इनकी मदद से, आपके एजेंट आपके डेटाबेस में मौजूद डेटा को ऐक्सेस कर सकते हैं. टूलबॉक्स में ये सुविधाएं मिलती हैं:
डेवलपमेंट को आसान बनाना: 10 लाइनों से भी कम कोड में अपने एजेंट में टूल इंटिग्रेट करें. साथ ही, एक से ज़्यादा एजेंट या फ़्रेमवर्क के बीच टूल का फिर से इस्तेमाल करें और टूल के नए वर्शन को आसानी से डिप्लॉय करें.
बेहतर परफ़ॉर्मेंस: कनेक्शन पूल करने, पुष्टि करने वगैरह जैसे सबसे सही तरीके.
बेहतर सुरक्षा: आपके डेटा को ज़्यादा सुरक्षित तरीके से ऐक्सेस करने के लिए, इंटिग्रेट किया गया पुष्टि करने का तरीका.
पूरी प्रोसेस को मॉनिटर करने की सुविधा: OpenTelemetry के लिए पहले से मौजूद सहायता के साथ, बेहतर मेट्रिक और ट्रैकिंग.
टूलबॉक्स, आपके ऐप्लिकेशन के ऑर्केस्ट्रेशन फ़्रेमवर्क और डेटाबेस के बीच में होता है. यह एक कंट्रोल प्लेन उपलब्ध कराता है, जिसका इस्तेमाल टूल में बदलाव करने, उन्हें डिस्ट्रिब्यूट करने या उन्हें चालू करने के लिए किया जाता है. यह आपके टूल को मैनेज करने की प्रोसेस को आसान बनाता है. इसके लिए, यह टूल को सेव और अपडेट करने की एक ही जगह उपलब्ध कराता है. साथ ही, यह एजेंट और ऐप्लिकेशन के बीच टूल शेयर करने की सुविधा देता है. साथ ही, अपने ऐप्लिकेशन को फिर से डिप्लॉय किए बिना, उन टूल को अपडेट करने की सुविधा भी देता है.
आपको क्या बनाना है
इस लैब में, आपको एक ऐसा ऐप्लिकेशन बनाना होगा जो किसी टूल का इस्तेमाल करके, डेटाबेस (AlloyDB) की एक आसान क्वेरी करता है. इस क्वेरी को आपके एजेंट या जनरेटिव एआई ऐप्लिकेशन से शुरू किया जा सकता है. इसके लिए, आपको
- टूलबॉक्स इंस्टॉल करना
- टूलबॉक्स सर्वर पर, टूल सेट अप करना (यह टूल, AlloyDB में कोई टास्क करने के लिए डिज़ाइन किया गया है)
- Cloud Run पर टूलबॉक्स डिप्लॉय करना
- डिप्लॉय किए गए Cloud Run एंडपॉइंट की मदद से, टूल की जांच करना
- टूलबॉक्स को चालू करने के लिए, Cloud Run फ़ंक्शन बनाना
ज़रूरी शर्तें
2. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. किसी प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, यह देखने का तरीका जानें.
- इसके लिए, आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है. Google Cloud कंसोल में सबसे ऊपर, 'Cloud Shell चालू करें' पर क्लिक करें.
- Cloud Shell से कनेक्ट होने के बाद, यह देखें कि आपकी पुष्टि पहले से हो चुकी है या नहीं. साथ ही, यह भी देखें कि प्रोजेक्ट सही प्रोजेक्ट आईडी पर सेट है या नहीं. इसके लिए, यह कमांड इस्तेमाल करें:
gcloud auth list
- Cloud Shell में यह कमांड चलाकर पुष्टि करें कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
- अपने Cloud Shell टर्मिनल में, यहां दिए गए कमांड को एक-एक करके चलाकर ज़रूरी एपीआई चालू करें:
नीचे दिए गए निर्देश को चलाने के लिए, एक ही कमांड भी है. हालांकि, अगर आपने मुफ़्त में आज़माने के लिए खाता लिया है, तो एक साथ कई सुविधाओं को चालू करने पर, आपको कोटा से जुड़ी समस्याएं आ सकती हैं. इसलिए, कमांड को हर लाइन में एक बार डाला जाता है.
gcloud services enable alloydb.googleapis.com
gcloud services enable compute.googleapis.com
gcloud services enable cloudresourcemanager.googleapis.com
gcloud services enable servicenetworking.googleapis.com
gcloud services enable run.googleapis.com
gcloud services enable cloudbuild.googleapis.com
gcloud services enable cloudfunctions.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud कमांड के बदले, कंसोल का इस्तेमाल करके भी हर प्रॉडक्ट को खोजा जा सकता है. इसके लिए, इस लिंक का इस्तेमाल करें.
अगर कोई एपीआई छूट जाता है, तो उसे लागू करने के दौरान कभी भी चालू किया जा सकता है.
gcloud के निर्देशों और इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.
3. डेटाबेस सेटअप करना
इस लैब में, हम रिटेल डेटा को सेव करने के लिए, डेटाबेस के तौर पर AlloyDB का इस्तेमाल करेंगे. यह डेटाबेस और लॉग जैसे सभी संसाधनों को सेव करने के लिए, क्लस्टर का इस्तेमाल करता है. हर क्लस्टर में एक प्राइमरी इंस्टेंस होता है, जो डेटा का ऐक्सेस पॉइंट उपलब्ध कराता है. टेबल में असल डेटा सेव होगा.
आइए, एक AlloyDB क्लस्टर, इंस्टेंस, और टेबल बनाएं, जहां ई-कॉमर्स डेटासेट लोड किया जाएगा.
क्लस्टर और इंस्टेंस बनाना
- Cloud Console में AlloyDB पेज पर जाएं.
Cloud Console में ज़्यादातर पेजों को ढूंढने का सबसे आसान तरीका है, उन्हें कंसोल के खोज बार का इस्तेमाल करके खोजना.
- उस पेज से, क्लस्टर बनाएं चुनें:
- आपको नीचे दी गई स्क्रीन जैसी स्क्रीन दिखेगी. यहां दी गई वैल्यू का इस्तेमाल करके, क्लस्टर और इंस्टेंस बनाएं. अगर आपको रिपॉज़िटरी से ऐप्लिकेशन कोड को क्लोन करना है, तो पक्का करें कि वैल्यू मैच हों:
- क्लस्टर आईडी: "
vector-cluster
" - password: "
alloydb
" - PostgreSQL 15 के साथ काम करता है
- देश या इलाका: "
us-central1
" - नेटवर्किंग: "
default
"
- डिफ़ॉल्ट नेटवर्क चुनने पर, आपको नीचे दी गई स्क्रीन जैसी स्क्रीन दिखेगी. कनेक्शन सेट अप करें को चुनें.
- इसके बाद, "अपने-आप असाइन की गई आईपी रेंज का इस्तेमाल करें" चुनें और 'जारी रखें' पर क्लिक करें. जानकारी की समीक्षा करने के बाद, 'कनेक्शन बनाएं' चुनें.
- नेटवर्क सेट अप हो जाने के बाद, क्लस्टर बनाना जारी रखा जा सकता है. क्लस्टर सेट अप करने के लिए, 'क्लस्टर बनाएं' पर क्लिक करें. इसके बाद, नीचे दिए गए तरीके से आगे बढ़ें:
इंस्टेंस आईडी को " में बदलना न भूलें
vector-instance"
.
ध्यान दें कि क्लस्टर बनाने में करीब 10 मिनट लगेंगे. क्लस्टर बनाने के बाद, आपको एक स्क्रीन दिखेगी. इसमें आपके बनाए गए क्लस्टर की खास जानकारी दिखेगी.
4. डेटा डालना
अब स्टोर के डेटा वाली टेबल जोड़ने का समय आ गया है. AlloyDB पर जाएं. इसके बाद, प्राइमरी क्लस्टर और फिर AlloyDB Studio चुनें:
आपको इंस्टेंस बनने का इंतज़ार करना पड़ सकता है. इसके पूरा होने के बाद, क्लस्टर बनाने के दौरान बनाए गए क्रेडेंशियल का इस्तेमाल करके, AlloyDB में साइन इन करें. PostgreSQL की पुष्टि करने के लिए, नीचे दिए गए डेटा का इस्तेमाल करें:
- उपयोगकर्ता नाम : "
postgres
" - डेटाबेस : "
postgres
" - पासवर्ड : "
alloydb
"
AlloyDB Studio में पुष्टि करने के बाद, एडिटर में SQL निर्देश डाले जा सकते हैं. आखिरी विंडो की दाईं ओर मौजूद प्लस का इस्तेमाल करके, Editor की कई विंडो जोड़ी जा सकती हैं.
ज़रूरत के हिसाब से, 'चालू करें', 'फ़ॉर्मैट करें', और 'साफ़ करें' विकल्पों का इस्तेमाल करके, एडिटर विंडो में AlloyDB के लिए कमांड डाले जा सकते हैं.
एक्सटेंशन चालू करना
इस ऐप्लिकेशन को बनाने के लिए, हम एक्सटेंशन pgvector
और google_ml_integration
का इस्तेमाल करेंगे. pgvector एक्सटेंशन की मदद से, वेक्टर एम्बेडमेंट को सेव और खोजा जा सकता है. google_ml_integration एक्सटेंशन, ऐसे फ़ंक्शन उपलब्ध कराता है जिनका इस्तेमाल करके, Vertex AI के अनुमान वाले एंडपॉइंट को ऐक्सेस किया जा सकता है. इससे, एसक्यूएल में अनुमान पाने में मदद मिलती है. इन डीडीएल को चलाकर, इन एक्सटेंशन को चालू करें:
CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
CREATE EXTENSION IF NOT EXISTS vector;
अगर आपको अपने डेटाबेस में चालू किए गए एक्सटेंशन की जांच करनी है, तो यह SQL कमांड चलाएं:
select extname, extversion from pg_extension;
टेबल बनाना
नीचे दिए गए डीडीएल स्टेटमेंट का इस्तेमाल करके टेबल बनाएं:
CREATE TABLE toys ( id VARCHAR(25), name VARCHAR(25), description VARCHAR(20000), quantity INT, price FLOAT, image_url VARCHAR(200), text_embeddings vector(768)) ;
ऊपर दिए गए निर्देश को पूरा करने के बाद, आपको डेटाबेस में टेबल दिखनी चाहिए.
डेटा डालना
इस लैब के लिए, हमारे पास इस SQL फ़ाइल में करीब 72 रिकॉर्ड का टेस्ट डेटा है. इसमें id, name, description, quantity, price, image_url
फ़ील्ड शामिल हैं. अन्य फ़ील्ड, लैब में बाद में भरे जाएंगे.
वहां से लाइनें कॉपी करें/स्टेटमेंट डालें. इसके बाद, उन लाइनों को खाली एडिटर टैब में चिपकाएं और 'चालू करें' चुनें.
टेबल का कॉन्टेंट देखने के लिए, एक्सप्लोरर सेक्शन को तब तक बड़ा करें, जब तक आपको कपड़े वाली टेबल न दिख जाए. टेबल पर क्वेरी करने का विकल्प देखने के लिए, ट्राइकोलन (⋮) चुनें. SELECT स्टेटमेंट, Editor के नए टैब में खुलेगा.
अनुमति दें
उपयोगकर्ता postgres
को embedding
फ़ंक्शन को चलाने का अधिकार देने के लिए, नीचे दिया गया स्टेटमेंट चलाएं:
GRANT EXECUTE ON FUNCTION embedding TO postgres;
AlloyDB सेवा खाते को Vertex AI उपयोगकर्ता की भूमिका दें
Cloud Shell टर्मिनल पर जाएं और यह निर्देश दें:
PROJECT_ID=$(gcloud config get-value project)
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" \
--role="roles/aiplatform.user"
5. कॉन्टेक्स्ट के लिए एम्बेड बनाना
कंप्यूटर के लिए टेक्स्ट की तुलना में, नंबर प्रोसेस करना काफ़ी आसान होता है. एम्बेड करने वाला सिस्टम, टेक्स्ट को फ़्लोटिंग पॉइंट नंबर की सीरीज़ में बदल देता है. इसे वेक्टर एम्बेड कहा जाता है. यह टेक्स्ट को दिखाता है, भले ही उसमें शब्दों का इस्तेमाल किस तरह किया गया हो, वह किस भाषा में हो वगैरह.
उदाहरण के लिए, समुद्र के किनारे मौजूद किसी जगह को "पानी के किनारे", "बीच के सामने", "अपने कमरे से समुद्र तक पैदल चलना", "sur la mer", "на берегу океана" वगैरह कहा जा सकता है. ये सभी शब्द अलग-अलग दिखते हैं, लेकिन उनके सेमैनटिक मतलब या मशीन लर्निंग के शब्दों में, उनके एम्बेड एक-दूसरे के बहुत करीब होने चाहिए.
अब डेटा और कॉन्टेक्स्ट तैयार है. हम embedding
फ़ील्ड में टेबल में प्रॉडक्ट के ब्यौरे के एम्बेड जोड़ने के लिए, SQL चलाएंगे. एम्बेड करने के लिए कई तरह के मॉडल इस्तेमाल किए जा सकते हैं. हम Vertex AI के text-embedding-005
का इस्तेमाल कर रहे हैं. पूरे प्रोजेक्ट में एक ही एम्बेडिंग मॉडल का इस्तेमाल करें!
ध्यान दें: अगर किसी पुराने Google Cloud प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो आपको textembedding-gecko जैसे टेक्स्ट-एम्बेडिंग मॉडल के पुराने वर्शन का इस्तेमाल जारी रखना पड़ सकता है.
AlloyDB Studio टैब पर वापस जाएं और यह डीएमएल टाइप करें:
UPDATE toys set text_embeddings = embedding( 'text-embedding-005', description);
कुछ एम्बेड देखने के लिए, toys
टेबल को फिर से देखें. बदलाव देखने के लिए, SELECT स्टेटमेंट को फिर से चलाना न भूलें.
SELECT id, name, description, price, quantity, image_url, text_embeddings FROM toys;
इससे खिलौने के ब्यौरे के लिए, एम्बेडिंग वेक्टर दिखेगा, जो फ़्लोट के कलेक्शन जैसा दिखता है. यह वेक्टर यहां दिखाया गया है:
ध्यान दें: मुफ़्त टीयर के तहत बनाए गए नए Google Cloud प्रोजेक्ट को, एम्बेडिंग मॉडल में हर सेकंड में अनुमति वाले एम्बेडिंग अनुरोधों की संख्या के लिए कोटा से जुड़ी समस्याएं आ सकती हैं. हमारा सुझाव है कि आप आईडी के लिए फ़िल्टर क्वेरी का इस्तेमाल करें. इसके बाद, एम्बेड जनरेट करते समय, एक से पांच रिकॉर्ड चुनें.
6. वेक्टर खोजना
अब टेबल, डेटा, और एम्बेड किए गए डेटा के तैयार होने के बाद, उपयोगकर्ता के खोजे गए टेक्स्ट के लिए रीयल टाइम वेक्टर सर्च की सुविधा का इस्तेमाल करें.
मान लें कि उपयोगकर्ता ने पूछा:
"I want a white plush teddy bear toy with a floral pattern
."
इसके लिए, नीचे दी गई क्वेरी चलाकर मैच देखे जा सकते हैं:
select * from toys
ORDER BY text_embeddings <=> CAST(embedding('text-embedding-005', 'I want a white plush teddy bear toy with a floral pattern') as vector(768))
LIMIT 5;
आइए, इस क्वेरी के बारे में ज़्यादा जानें:
इस क्वेरी में,
- उपयोगकर्ता का खोज टेक्स्ट: "
I want a white plush teddy bear toy with a floral pattern.
" - हम इसे मॉडल:
text-embedding-005
का इस्तेमाल करके,embedding()
तरीके से एम्बेड में बदल रहे हैं. पिछले चरण के बाद, यह चरण आपको जाना-पहचाना लगेगा. पिछले चरण में, हमने टेबल के सभी आइटम में एम्बेड करने की सुविधा लागू की थी. - "
<=>
", कोसाइन मिलते-जुलते डिस्टेंस मेथड का इस्तेमाल दिखाता है. pgvector के दस्तावेज़ में, मिलती-जुलती चीज़ों के सभी मेज़र उपलब्ध हैं. - हम एम्बेड करने के तरीके के नतीजे को वेक्टर टाइप में बदल रहे हैं, ताकि इसे डेटाबेस में सेव किए गए वेक्टर के साथ काम किया जा सके.
- LIMIT 5 से पता चलता है कि हमें खोज के लिए इस्तेमाल हुए टेक्स्ट के सबसे मिलते-जुलते पांच शब्द निकालने हैं.
नतीजा कुछ ऐसा दिखता है:
जैसा कि आपको नतीजों में दिख रहा है, मिलते-जुलते वीडियो, खोज के लिए इस्तेमाल किए गए टेक्स्ट से काफ़ी मिलते-जुलते हैं. टेक्स्ट बदलकर देखें कि नतीजे कैसे बदलते हैं.
7. टूलबॉक्स इंटरैक्शन के लिए AlloyDB को तैयार करना
टूलबॉक्स सेट अप करने से पहले, अपने AlloyDB इंस्टेंस में सार्वजनिक आईपी कनेक्टिविटी चालू करें, ताकि नया टूल डेटाबेस को ऐक्सेस कर सके.
- अपने AlloyDB इंस्टेंस पर जाएं, 'बदलाव करें' पर क्लिक करें, और 'प्राइमरी इंस्टेंस में बदलाव करें' पेज पर जाएं.
- सार्वजनिक आईपी कनेक्टिविटी सेक्शन पर जाएं. इसके बाद, 'सार्वजनिक आईपी चालू करें' चेकबॉक्स को चुनें और अपनी Cloud Shell मशीन का आईपी पता डालें.
- अपनी Cloud Shell मशीन का आईपी पता पाने के लिए, Cloud Shell टर्मिनल पर जाएं और ifconfig डालें. नतीजे से, eth0 इनेट पते की पहचान करें और आखिरी दो अंकों को 0.0 से बदलें. साथ ही, मास्क साइज़ को ‘/16' पर सेट करें. उदाहरण के लिए, यह "XX.XX.0.0/16" जैसा दिखेगा, जहां XX संख्याएं हैं.
- इस आईपी को, बदलाव वाले इंस्टेंस पेज के 'अनुमति वाले बाहरी नेटवर्क' "नेटवर्क" टेक्स्टबॉक्स में चिपकाएं.
- इसके बाद, 'इंस्टेंस अपडेट करें' पर क्लिक करें.
इस प्रोसेस को पूरा होने में कुछ मिनट लगेंगे.
8. टूलबॉक्स इंस्टॉल करना
- टूल की जानकारी सेव करने के लिए, प्रोजेक्ट फ़ोल्डर बनाया जा सकता है. इस मामले में, हम खिलौने के स्टोर के डेटा पर काम कर रहे हैं. इसलिए, "toystore" नाम का एक फ़ोल्डर बनाएं और उसमें जाएं. Cloud Shell टर्मिनल पर जाएं और पक्का करें कि आपका प्रोजेक्ट चुना गया हो और टर्मिनल के प्रॉम्प्ट में दिख रहा हो. अपने Cloud Shell टर्मिनल से यह कमांड चलाएं:
mkdir toystore
cd toystore
- अपने नए फ़ोल्डर में टूलबॉक्स डाउनलोड और इंस्टॉल करने के लिए, यह कमांड चलाएं:
# see releases page for other versions
export VERSION=0.1.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
- Cloud Shell एडिटर पर टॉगल करें. हाल ही में बनाए गए फ़ोल्डर "toystore" को बड़ा करें और tools.yaml नाम की एक नई फ़ाइल बनाएं. नीचे दिया गया कॉन्टेंट कॉपी करें. YOUR_PROJECT_ID की जगह अपना प्रोजेक्ट आईडी डालें और देखें कि कनेक्शन की अन्य जानकारी सही है या नहीं.
sources:
alloydb-toys:
kind: "alloydb-postgres"
project: "YOUR_PROJECT_ID"
region: "us-central1"
cluster: "vector-cluster"
instance: "vector-instance"
database: "postgres"
user: "postgres"
password: "alloydb"
tools:
get-toy-price:
kind: postgres-sql
source: alloydb-toys
description: Get the price of a toy based on a description.
parameters:
- name: description
type: string
description: A description of the toy to search for.
statement: |
SELECT price FROM toys
ORDER BY text_embeddings <=> CAST(embedding('text-embedding-005', $1) AS vector(768))
LIMIT 1;
इस टूल में, हम उपयोगकर्ता के खोज टेक्स्ट (पसंद के मुताबिक खिलौने की जानकारी) से मिलता-जुलता प्रॉडक्ट ढूंढ रहे हैं और उसकी कीमत दिखा रहे हैं. इस सेटिंग में बदलाव करके, सबसे ज़्यादा मिलते-जुलते पांच खिलौनों की औसत कीमत भी देखी जा सकती है:
select avg(price) from ( SELECT price FROM toys ORDER BY text_embeddings <=> CAST(embedding(‘text-embedding-005', $1) AS vector(768)) LIMIT 5 ) as price;
टूल की परिभाषा सेट अप हो गई है!
tools.yaml को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, यह दस्तावेज़ देखें.
- Cloud Shell टर्मिनल पर टॉगल करें और अपने टूल कॉन्फ़िगरेशन के साथ टूलबॉक्स सर्वर को शुरू करने के लिए, यह कमांड डालें:
./toolbox --tools_file "tools.yaml"
- अब अगर क्लाउड पर वेब की झलक वाले मोड में सर्वर खोला जाता है, तो आपको
get-toy-price.
नाम के अपने नए टूल के साथ, टूलबॉक्स सर्वर चालू और काम करता हुआ दिखेगा
9. टूलबॉक्स को Cloud Run पर डिप्लॉय करना
आइए, इसे Cloud Run पर डिप्लॉय करें, ताकि आप इस टूल का इस्तेमाल कर सकें.
- इस पेज पर दिए गए निर्देशों का एक-एक करके पालन करें. ऐसा तब तक करें, जब तक कि आप "Cloud Run पर डिप्लॉय करें" सेक्शन के तीसरे पॉइंट में मौजूद
gcloud run deploy toolbox
कमांड पर न पहुंच जाएं. आपको पहला विकल्प चुनना होगा, न कि दूसरा. दूसरा विकल्प, VPC नेटवर्क के तरीके का इस्तेमाल करने के लिए है. - डिप्लॉय हो जाने के बाद, आपको अपने टूलबॉक्स सर्वर का Cloud Run डिप्लॉय किया गया एंडपॉइंट मिलेगा. CURL कमांड का इस्तेमाल करके इसकी जांच करें.
अब आपके पास अपने एजेंसी ऐप्लिकेशन में, नए टूल का इस्तेमाल करने का विकल्प है!!!
10. अपने ऐप्लिकेशन को टूलबॉक्स से कनेक्ट करना
इस चरण में, हम आपके टूल की जांच करने के लिए एक छोटा ऐप्लिकेशन बनाएंगे. इससे, ऐप्लिकेशन की ज़रूरतों के हिसाब से इंटरैक्ट करने और जवाब पाने में मदद मिलेगी.
- Google Colab पर जाएं और नया नोटबुक खोलें.
- अपनी नोटबुक में यह चलाएं
pip install toolbox-langchain
from toolbox_langchain import ToolboxClient
# Replace with your Toolbox service's URL
toolbox = ToolboxClient("https://toolbox-*****-uc.a.run.app")
tool = toolbox.load_tool("get-toy-price")
# Invoke the tool with a search text to pass as the parameter
result = tool.invoke({"description": "white plush toy"})
# Print result
print(result)
- आपको ऐसा नतीजा दिखेगा:
यह टूल, Python ऐप्लिकेशन में साफ़ तौर पर इस्तेमाल किया जा रहा है. यह ऐप्लिकेशन, टूलकिट toolbox-langchain
.
का इस्तेमाल करता है
- अगर आपको इस टूल का इस्तेमाल करना है और इसे LangGraph इंटिग्रेट किए गए ऐप्लिकेशन में किसी एजेंट से जोड़ना है, तो
langgraph
टूलकिट की मदद से ऐसा आसानी से किया जा सकता है. - इसके लिए, कोड स्निपेट देखें.
11. इसे क्लाउड पर ले जाएं!!!
इस Python कोड स्निपेट को Cloud Run फ़ंक्शन में रैप करके, इसे सर्वरलेस बनाएं!
- इसे Cloud Functions में इस्तेमाल करने के लिए, कोड रिपॉज़िटरी फ़ोल्डर से सोर्स को कॉपी करें.
- Cloud Run फ़ंक्शन कंसोल पर जाएं और फ़ंक्शन बनाएं पर क्लिक करें.
- डेमो ऐप्लिकेशन के लिए, पुष्टि न की गई स्थिति में ही रखें. साथ ही, अगले पेज पर Python 3.11 रनटाइम चुनें.
- पहले चरण में शेयर किए गए सोर्स रिपॉज़िटरी से
main.py
औरrequirements.txt
फ़ाइलें कॉपी करें और उन्हें अपनी फ़ाइलों में चिपकाएं. - फ़ंक्शन को डिप्लॉय करें. इसके बाद, खिलौने की दुकान के वेब ऐप्लिकेशन में कीमत का अनुमान लगाने वाले टूल को ऐक्सेस करने के लिए, आपके पास एक REST एंडपॉइंट होगा.
- आपका एंडपॉइंट ऐसा दिखना चाहिए:
https://us-central1-*****.cloudfunctions.net/toolbox-toys
- सीधे Cloud Functions कंसोल पर जाकर, इसकी जांच की जा सकती है. इसके लिए, टेस्टिंग टैब पर जाएं और अनुरोध इनपुट के तौर पर यह जानकारी डालें:
{
"`search`"`:` "`White plush toy`"
}
- फ़ंक्शन की जांच करें पर क्लिक करें या Cloud Shell टर्मिनल में चलाएं. आपको "आउटपुट" टाइटल के नीचे दाईं ओर नतीजा दिखेगा:
12. बधाई हो
बधाई हो! आपने एक मज़बूत और सचमुच मॉड्यूलर टूल बनाया है. यह आपके एजेंटिक ऐप्लिकेशन को बनाने में मदद करने के लिए, अलग-अलग डेटाबेस, प्लैटफ़ॉर्म, और जनरेटिव एआई ऑर्केस्ट्रेशन फ़्रेमवर्क के साथ इंटरैक्ट कर सकता है.