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

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

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

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

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

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

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

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

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

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

एसक्यूएल टॉक के लिए Cloud शेल इंस्टेंस बनाने के लिए:

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

Google Cloud Shell Editor में, एसक्यूएल टॉक प्रोजेक्ट कोड दिखाया गया है

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

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

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

क्लाउड शेल एडिटर को प्रोजेक्ट आईडी से कनेक्ट करने के लिए:

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

    gcloud config set project YOUR_PROJECT_ID
    

एसक्यूएल टॉक प्रोजेक्ट कॉन्फ़िगर करें

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

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

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

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

    bash setup.sh
    

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

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

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

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

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

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

    gcloud config set project YOUR_PROJECT_ID
    
  2. Cloud Shell Editor विंडो टर्मिनल पैनल में, क्लाउड पर जाएं शेल एसक्यूएल टॉक प्रोजेक्ट डायरेक्ट्री.

    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 टॉक ऐप्लिकेशन देखें. क्लाउड शेल एडिटर में सबसे ऊपर दाईं ओर विंडो में, वेब की झलक बटन चुनें पोर्ट 8080 पर झलक देखें.

Cloud Shell Editor का हेडर, जिसमें 'वेब झलक' बटन हाइलाइट किया गया है

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

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

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

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

ऐप्लिकेशन में बदलाव करें

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

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

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

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

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

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

  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 कोड फ़ाइल में, if while function_calling_in_process:लूप.

    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])
    

अन्य संसाधन

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