Gemini की मदद से एआई (AI) एजेंट बनाएं

अपने कारोबार के सिस्टम के प्रोग्रामिंग इंटरफ़ेस के लिए, आर्टिफ़िशियल इंटेलिजेंस (एआई) की मदद से काम करने वाला चैट इंटरफ़ेस बनाएं. साथ ही, अपने सहयोगियों को अपने कारोबार के डेटा के बारे में सवाल पूछने की सुविधा दें. अपने संगठन के डेटा का विश्लेषण करना और उसकी रिपोर्ट बनाना, कारोबार को बेहतर बनाने के लिए ज़रूरी है. सही डेटा की मदद से, समस्याओं का पता लगाया जा सकता है, रुझानों को खोजा जा सकता है, और नतीजों की जांच की जा सकती है. हालांकि, डेवलपर के तौर पर, अपने उन साथियों को सही डेटा खोजने में मदद करना मुश्किल हो सकता है जो कोडिंग नहीं करते.

SQL Talk प्रोजेक्ट, एक ओपन सोर्स ऐप्लिकेशन है. यह कारोबार के डेटा से जुड़े सवालों के जवाब देने के लिए, जनरेटिव एआई टेक्नोलॉजी का इस्तेमाल करता है. यह प्रोजेक्ट, कारोबार के डेटा से जुड़े सवालों को SQL क्वेरी और एपीआई कॉल में बदलने के लिए, Gemini API और फ़ंक्शन कॉलिंग सुविधा का इस्तेमाल करता है. इसके बाद, नतीजों को फिर से सामान्य भाषा में बदलता है. इस प्रोजेक्ट का इस्तेमाल, अपने कारोबार के लिए डेटा एजेंट बनाने के लिए शुरुआती बिंदु के तौर पर किया जा सकता है. साथ ही, अपने सहयोगियों को जवाब पाने में मदद की जा सकती है. इसके लिए, आपको एक बार इस्तेमाल होने वाले कई कोड लिखने की ज़रूरत नहीं पड़ेगी.

इस प्रोजेक्ट के बारे में खास जानकारी देने वाला वीडियो देखें. इसमें, इसे बनाने वाले लोगों की अहम जानकारी के साथ-साथ, इसे बढ़ाने का तरीका भी बताया गया है. इसके लिए, एआई डेटा एजेंट | Google के एआई की मदद से बनाएं देखें. इसके अलावा, नीचे दिए गए निर्देशों का पालन करके भी प्रोजेक्ट को बड़ा किया जा सकता है.

SQL Talk प्रोजेक्ट ऐप्लिकेशन का यूज़र इंटरफ़ेस

पहली इमेज. SQL Talk प्रोजेक्ट के ऐप्लिकेशन का यूज़र इंटरफ़ेस.

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

इन निर्देशों की मदद से, SQL Talk प्रोजेक्ट को डेवलपमेंट और टेस्टिंग के लिए सेट अप किया जा सकता है. SQL Talk प्रोजेक्ट बनाने, Google Cloud Shell Editor डेवलपमेंट प्रोजेक्ट को सेट अप करने, Google Cloud प्रोजेक्ट आईडी पाने, और प्रोजेक्ट की सेटिंग कॉन्फ़िगर करने के लिए स्क्रिप्ट का इस्तेमाल करने के सामान्य चरण यहां दिए गए हैं. इन निर्देशों में, Cloud Shell Editor का इस्तेमाल करके प्रोजेक्ट सेट अप करने का तरीका बताया गया है. इससे प्रोजेक्ट को सेट अप करने, चलाने, और अपडेट करने में कम समय लगता है और यह आसान हो जाता है.

प्रोजेक्ट के लिए Cloud Shell इंस्टेंस बनाना

प्रोजेक्ट के रिपॉज़िटरी को Cloud Shell इंस्टेंस में क्लोन करके, SQL Talk प्रोजेक्ट सेट अप किया जा सकता है. इस प्रोसेस से, प्रोजेक्ट के लिए Google Cloud इन्फ़्रास्ट्रक्चर में वर्चुअल डेवलपमेंट एनवायरमेंट इंस्टेंस सेट अप होता है. साथ ही, उस वर्चुअल एनवायरमेंट में कोड रिपॉज़िटरी को क्लोन किया जाता है.

SQL Talk के लिए Cloud Shell इंस्टेंस बनाने के लिए:

यह लिंक, Google Cloud Shell Editor इंस्टेंस सेट अप करता है और SQL Talk के लिए मौजूद रिपॉज़िटरी को इंस्टेंस में क्लोन करता है.

SQL Talk प्रोजेक्ट कोड के साथ Google Cloud Shell Editor

दूसरी इमेज. SQL Talk प्रोजेक्ट को Google Cloud Shell Editor के डेवलपमेंट एनवायरमेंट में क्लोन किया गया.

Cloud प्रोजेक्ट आईडी पाना

SQL Talk प्रोजेक्ट, Google Cloud की सेवाओं से कनेक्ट करने के लिए Google Cloud प्रोजेक्ट आईडी का इस्तेमाल करता है. इन सेवाओं में Gemini मॉडल भी शामिल हैं. ऐप्लिकेशन को इन सेवाओं से कनेक्ट करने के लिए, आपको Cloud Shell Editor में प्रोजेक्ट आईडी कॉन्फ़िगर करना होगा.

Cloud Shell Editor को किसी प्रोजेक्ट आईडी से कनेक्ट करने के लिए:

  1. Google Cloud Console पर जाएं और अगर ज़रूरी हो, तो साइन इन करें.
  2. कोई मौजूदा Cloud प्रोजेक्ट चुनें या नया प्रोजेक्ट बनाएं.
  3. प्रोजेक्ट के लिए Cloud प्रोजेक्ट आईडी नोट कर लें.
  4. Editor इंस्टेंस को अपने प्रोजेक्ट से कनेक्ट करें और प्रोजेक्ट को कॉन्फ़िगर करें. Cloud Shell एडिटर विंडो में, टर्मिनल पैनल में यह कमांड डालें:

    gcloud config set project YOUR_PROJECT_ID
    

SQL Talk प्रोजेक्ट कॉन्फ़िगर करना

SQL Talk प्रोजेक्ट, प्रोजेक्ट को चलाने के लिए Google Cloud की सेवाओं का इस्तेमाल करता है. इनमें Gemini मॉडल से कनेक्ट करने के लिए, BigQuery डेटाबेस सेवा और Vertex AI API शामिल हैं. SQL Talk प्रोजेक्ट में एक setup.sh स्क्रिप्ट शामिल होती है, जो प्रोजेक्ट को ज़रूरी Google Cloud सेवाओं के साथ कॉन्फ़िगर करती है और प्रोजेक्ट का डिफ़ॉल्ट वर्शन शुरू करती है.

प्रोजेक्ट के Cloud Shell Editor इंस्टेंस को कॉन्फ़िगर और चलाने के लिए:

  1. Cloud Shell Editor विंडो के टर्मिनल पैनल में, Cloud Shell SQL Talk (/sql-talk-app) प्रोजेक्ट डायरेक्ट्री पर जाएं:

    cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
    
  2. टर्मिनल पैनल में, यह कमांड डालें:

    bash setup.sh
    

सेटअप स्क्रिप्ट पूरी होने के बाद, आपको Cloud Shell Editor टर्मिनल विंडो में, यहां दिए गए मैसेज जैसा मैसेज दिखेगा. इस मैसेज से पता चलता है कि सेटअप की प्रोसेस पूरी हो गई है और SQL Talk ऐप्लिकेशन काम कर रहा है:

You can now view your Streamlit app in your browser.
Network URL: http://##.##.##.##:8080
External URL: http://##.##.##.##:8080

प्रोजेक्ट की जांच करना

SQL Talk प्रोजेक्ट का सेटअप पूरा करने के बाद, ऐप्लिकेशन की जांच करके यह पुष्टि की जा सकती है कि यह उम्मीद के मुताबिक काम कर रहा है या नहीं. सेटअप स्क्रिप्ट को चलाने पर, वह ऐप्लिकेशन को अपने-आप शुरू कर देती है. साथ ही, यहां दिए गए तरीके का इस्तेमाल करके, ऐप्लिकेशन को रीस्टार्ट किया जा सकता है.

SQL Talk ऐप्लिकेशन चलाने के लिए:

  1. अगर Cloud Shell Editor कुछ समय से इस्तेमाल नहीं किया गया है और वह डिसकनेक्ट हो गया है, तो आपको अपने Cloud प्रोजेक्ट आईडी से फिर से कनेक्ट करना पड़ सकता है.

    gcloud config set project YOUR_PROJECT_ID
    
  2. Cloud Shell एडिटर विंडो के टर्मिनल पैनल में, Cloud Shell SQL Talk प्रोजेक्ट डायरेक्ट्री पर जाएं.

    cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
    
  3. टर्मिनल पैनल में, यह निर्देश डालें.

    ~/miniforge/bin/streamlit run app.py --server.enableCORS=false \
        --server.enableXsrfProtection=false --server.port 8080
    
  4. SQL Talk ऐप्लिकेशन देखें. Cloud Shell Editor विंडो के सबसे ऊपर दाईं ओर, वेब की झलक बटन चुनें. इसके बाद, पोर्ट 8080 पर झलक देखें को चुनें.

वेब प्रीव्यू बटन को हाइलाइट किए गए Cloud Shell एडिटर हेडर

SQL Talk ऐप्लिकेशन के अपडेट देखने के लिए:

  • SQL Talk वेब ऐप्लिकेशन की वेब झलक में, ब्राउज़र या ब्राउज़र टैब को फिर से लोड करें.

SQL Talk ऐप्लिकेशन को बंद करने के लिए:

  • Cloud Shell एडिटर विंडो के टर्मिनल पैनल में, Ctrl-C टाइप करें.

आवेदन में बदलाव करना

SQL Talk ऐप्लिकेशन के काम करने के तरीके में बदलाव किया जा सकता है और इसमें नई सुविधाएं जोड़ी जा सकती हैं. इसके लिए, आपको ऐप्लिकेशन के Python कोड में बदलाव करना होगा. इस सेक्शन में, SQL Talk ऐप्लिकेशन में नया फ़ंक्शन कॉल जोड़ने का तरीका बताया गया है.

Gemini API की फ़ंक्शन कॉलिंग सुविधा, किसी खास सिंटैक्स का इस्तेमाल करके फ़ंक्शन तय करती है. इन फ़ंक्शन का इस्तेमाल जनरेटिव मॉडल, सवालों के जवाब देने या समस्याओं को हल करने के लिए करता है. यह ज़रूरी नहीं है कि यह सिंटैक्स, किसी असली एपीआई कॉल के सिंटैक्स से पूरी तरह मेल खाए. इसके बजाय, फ़ंक्शन कॉल करने की सुविधा का इस्तेमाल करके जनरेटिव मॉडल को एपीआई कॉल सिंटैक्स के मुताबिक खास डेटा इनपुट या पैरामीटर देने के लिए मजबूर किया जाता है. इसके बाद, उन पैरामीटर का इस्तेमाल करके अपने ऐप्लिकेशन कोड में असल एपीआई कॉल को लागू किया जाता है.

लागू करने के इस उदाहरण में, हाल ही की डेटाबेस क्वेरी या जॉब की सूची बनाने के लिए, फ़ंक्शन कॉल की परिभाषा बनाने का तरीका बताया गया है. इसके बाद, SQL Talk ऐप्लिकेशन कोड में उस परिभाषा को असल एपीआई कॉल से मैप किया गया है.

फ़ंक्शन कॉल की परिभाषा जोड़ना

हाल ही की डेटाबेस क्वेरी या जॉब की सूची बनाने के लिए, नया फ़ंक्शन कॉल जोड़ें. जनरेटिव मॉडल इस परिभाषा का इस्तेमाल करके यह समझता है कि एपीआई कॉल क्या करता है और उसे किन इनपुट पैरामीटर की ज़रूरत है. इस उदाहरण में, फ़ंक्शन की परिभाषा में कोई पैरामीटर नहीं है.

ऐप्लिकेशन में नया फ़ंक्शन कॉल जोड़ने के लिए:

  1. Cloud Shell Editor विंडो में, sql-talk-app/app.py कोड फ़ाइल खोलें.
  2. list_datasets_funcफ़ंक्शन के एलान के बाद, नया FunctionDeclaration जोड़ें.

    list_jobs_func = FunctionDeclaration(
        name="list_jobs",
        description="Get a list of the 10 most recent database requests to help answer the user's question",
        parameters={
            "type": "object",
            "properties": {
      },
    },
    )
    
  3. sql_query_tool ऑब्जेक्ट में नया फ़ंक्शन जोड़ें.

    sql_query_tool = Tool(
        function_declarations=[
            sql_query_func,
            list_datasets_func,
            List_jobs_func,  # add this new function
            list_tables_func,
            get_table_func,
        ],
    )
    

नए फ़ंक्शन के लिए, एपीआई कॉल चलाने के लिए कोड जोड़ने के लिए:

  • sql-talk-app/app.py कोड फ़ाइल में, while function_calling_in_process:लूप में नया if क्लॉज़ जोड़ें.

    if response.function_call.name == "list_datasets":
        ...
    
    # add this if clause for list_jobs function
    if response.function_call.name == "list_jobs":
        api_response = client.list_jobs(max_results=10)  # API request(s)
        api_response = str([job.job_id for job in api_response])
        api_requests_and_responses.append(
          [response.function_call.name,params, api_response])
    

अन्य संसाधन

SQL क्वेरी प्रोजेक्ट के बारे में ज़्यादा जानकारी के लिए, कोड रिपॉज़िटरी देखें. साथ ही, SQL Talk प्रोजेक्ट के बारे में Cloud कम्यूनिटी ब्लॉग पोस्ट देखें. अगर आपको ऐप्लिकेशन बनाने में मदद चाहिए या आपको अन्य डेवलपर के साथ मिलकर काम करना है, तो Google Developers कम्यूनिटी डिसकोर्ड सर्वर और Google Cloud के एआई/एमएल फ़ोरम पर जाएं. 'Google के एआई का इस्तेमाल करके बनाए गए प्रोजेक्ट' के बारे में ज़्यादा जानने के लिए, वीडियो प्लेलिस्ट देखें.