Docs एजेंट की मदद से, एआई (AI) कॉन्टेंट सर्च तैयार करना

जानकारी खोजना, आर्टिफ़िशियल इंटेलिजेंस के सबसे आम इस्तेमाल में से एक है इंटेलिजेंस (एआई) जनरेटिव मॉडल का इस्तेमाल करती है. बातचीत वाला सर्च इंटरफ़ेस बनाना एआई का इस्तेमाल करने वाले कॉन्टेंट के लिए, आपके उपयोगकर्ता खास सवाल पूछ सकते हैं. साथ ही, सीधे जवाब.

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

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

खास जानकारी

Docs एजेंट प्रोजेक्ट, किसी खास ऑब्जेक्ट के लिए, बातचीत वाला सर्च इंटरफ़ेस उपलब्ध कराता है Google Gemini API और जनरेटिव मॉडल की मदद से बनाया गया कॉन्टेंट सेट. उपयोगकर्ता यह कर सकते हैं बातचीत वाली स्टाइल में पूरी जानकारी वाला सवाल पूछें और पूरी जानकारी का जवाब पाएं का एक हिस्सा है. परदे के पीछे, Docs एजेंट और कॉन्टेंट के वेक्टर डेटाबेस से सवाल पूछता है और खोज करता है. साथ ही, जनरेटिव मॉडल के लिए ज़्यादा जानकारी वाला प्रॉम्प्ट. इसमें काम के टेक्स्ट के स्निपेट भी शामिल हैं. जनरेटिव मॉडल, सवाल का जवाब जनरेट करता है और Docs एजेंट रिस्पॉन्स को फ़ॉर्मैट करता है और उसे उपयोगकर्ता के सामने पेश करता है.

Docs एजेंट का फ़ंक्शनल डायग्राम पहली इमेज. Docs एजेंट प्रोजेक्ट ऐप्लिकेशन का फ़ंक्शनल डायग्राम.

दस्तावेज़ एजेंट को आपके कॉन्टेंट से जुड़े सवालों के जवाब देने में मदद करने के लिए सबसे ज़रूरी है कि उस कॉन्टेंट के वेक्टर डेटाबेस का निर्माण करना. अपना कॉन्टेंट अलग-अलग करके टेक्स्ट के लॉजिकल हिस्से और हर एक के लिए वेक्टर जनरेट करते हैं. ये वेक्टर जानकारी के हर हिस्से में जानकारी को संख्या के तौर पर दिखाया जाएगा. साथ ही, इसे इस तरह जनरेट किया जाएगा यह Google के जनरेटिव मॉडल से लिया गया, एआई (AI) टेक्स्ट एम्बेड करने की सुविधा है.

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

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

ये निर्देश आपको, के लिए Docs एजेंट प्रोजेक्ट सेट अप करने का तरीका बताते हैं डेवलपमेंट और टेस्टिंग के लिए बनाया गया. सामान्य तरीके से, ऐप्लिकेशन इंस्टॉल करने के लिए कुछ ज़रूरी शर्तें सॉफ़्टवेयर बनाना, एनवायरमेंट में कुछ वैरिएबल सेट करना, कोड से प्रोजेक्ट की क्लोनिंग करना और कॉन्फ़िगरेशन को इंस्टॉल किया जा सकता है. कोड प्रोजेक्ट, Python Poetry की मदद से, पैकेज और Python रनटाइम एनवायरमेंट.

ज़रूरी शर्तें इंस्टॉल करें

Docs एजेंट प्रोजेक्ट, पैकेज मैनेज करने के लिए Python 3 और Python Poetry का इस्तेमाल करता है और ऐप्लिकेशन चलाएं. Linux के लिए, इंस्टॉल करने के ये निर्देश हैं होस्ट मशीन.

ज़रूरी सॉफ़्टवेयर इंस्टॉल करने के लिए:

  1. Python 3 और Python के लिए venv वर्चुअल एनवायरमेंट पैकेज इंस्टॉल करें.
    sudo apt update
    sudo apt install git pip python3-venv
    
  2. इसकी डिपेंडेंसी और पैकेजिंग को मैनेज करने के लिए, Python Poetry इंस्टॉल करें प्रोजेक्ट.
    curl -sSL https://install.python-poetry.org | python3 -
    

आप Python लाइब्रेरी को जोड़ने के लिए, Python Poetry का इस्तेमाल कर सकते हैं. ऐसा करने पर, प्रोजेक्ट.

एनवायरमेंट वैरिएबल सेट करना

कुछ ऐसे एनवायरमेंट वैरिएबल सेट करें जो Docs एजेंट कोड को अनुमति देने के लिए ज़रूरी हैं चलाने के लिए प्रोजेक्ट. इसमें Google Gemini API Key और Python शामिल हैं कविता की सेटिंग. आप अपनी $HOME/.bashrc फ़ाइल में ये वैरिएबल जोड़ सकते हैं अगर आप Linux का इस्तेमाल कर रहे हैं, तो उन्हें अपने टर्मिनल की डिफ़ॉल्ट सेटिंग बनाने के लिए सत्र.

एनवायरमेंट वैरिएबल सेट करने के लिए:

  1. Google Gemini API कुंजी लें और कुंजी स्ट्रिंग कॉपी करें.
  2. एपीआई पासकोड को एनवायरमेंट वैरिएबल के तौर पर सेट करें. Linux होस्ट पर, आगे दिए गए निर्देश का पालन करें.
    export API_KEY=<YOUR_API_KEY_HERE>
    
  3. किसी जानी-पहचानी घटना के बारे में समस्या Python पोएट्री के लिए, PYTHON_KEYRING_BACKEND पैरामीटर सेट करें. Linux होस्ट पर, नीचे दिए गए निर्देश का इस्तेमाल करें.
    export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
    

प्रोजेक्ट का क्लोन बनाएं और उसे कॉन्फ़िगर करें

प्रोजेक्ट कोड डाउनलोड करें और डाउनलोड करने के लिए कविता इंस्टॉल करने वाले निर्देश का इस्तेमाल करें सभी ज़रूरी डिपेंडेंसी डालें और प्रोजेक्ट को कॉन्फ़िगर करें. आपको इनकी ज़रूरत होगी git सोर्स कंट्रोल सॉफ़्टवेयर का इस्तेमाल करके, प्रोजेक्ट का सोर्स कोड. बाहरी व्यक्ति प्रोजेक्ट कोड को डाउनलोड और कॉन्फ़िगर करने के लिए:

  1. नीचे दिए गए निर्देश का इस्तेमाल करके, git रिपॉज़िटरी का क्लोन बनाएं.
    git clone https://github.com/google/generative-ai-docs
    
  2. इसके अलावा, स्पार्स चेकआउट का इस्तेमाल करने के लिए, अपना लोकल GitHub रिपॉज़िटरी कॉन्फ़िगर करें, ताकि आपके पास सिर्फ़ Docs एजेंट प्रोजेक्ट की फ़ाइलें हों.
    cd generative-ai-docs/
    git sparse-checkout init --cone
    git sparse-checkout set examples/gemini/python/docs-agent/
    
  3. docs-agent प्रोजेक्ट की रूट डायरेक्ट्री में ले जाएं.
    cd examples/gemini/python/docs-agent/
    
  4. डिपेंडेंसी डाउनलोड करने और कॉन्फ़िगर करने के लिए, पोएट्री इंस्टॉल करने का निर्देश दें प्रोजेक्ट:
    poetry install
    

कॉन्टेंट तैयार करना

Docs एजेंट प्रोजेक्ट को टेक्स्ट कॉन्टेंट के साथ काम करने के लिए डिज़ाइन किया गया है और इसमें सोर्स फ़ॉर्मैट के तौर पर मार्कडाउन का इस्तेमाल करने वाली वेबसाइटों के साथ काम करने के लिए बनाए गए टूल. अगर वेबसाइट के कॉन्टेंट का इस्तेमाल किया जा रहा है, तो आपको कॉन्टेंट प्रोसेसिंग टास्क को चालू करने के लिए, दिखाई गई वेबसाइट की डायरेक्ट्री स्ट्रक्चर का इस्तेमाल किया जा सकता है.

अपनी सामग्री के फ़ॉर्मैट और ब्यौरे के आधार पर, आपको गैर-सार्वजनिक जानकारी, आंतरिक नोट या अन्य जानकारी हटाने के लिए कॉन्टेंट जिसे आप नहीं खोज सकते. आपको बेसिक फ़ॉर्मैट ऐसे रखना चाहिए कि टाइटल और हेडिंग के तौर पर इस्तेमाल किए जाते हैं, जो टेक्स्ट को सही ढंग से स्प्लिट करने या कई हिस्सों में बांटने में मदद करते हैं. कॉन्टेंट प्रोसेसिंग चरण.

प्रोसेसिंग के लिए कॉन्टेंट तैयार करने के लिए:

  1. उस कॉन्टेंट के लिए डायरेक्ट्री बनाएं जिसे आपको एआई एजेंट से खोजना है.
    mkdir docs-agent/content/
    
  2. अपने कॉन्टेंट को docs-agent/content/ डायरेक्ट्री में कॉपी करें. अगर कॉन्टेंट एक वेबसाइट है, तो Google Ads API का इस्तेमाल करें.
  3. जो जानकारी सार्वजनिक नहीं है उसे हटाने के लिए, कॉन्टेंट को हटाएं या उसमें बदलाव करें या अन्य जानकारी, जिसे आप खोजों में शामिल नहीं करना चाहते हैं.

जांच करने के लिए, Flutter के दस्तावेज़ इस्तेमाल करना

अगर आपको Docs एजेंट की जांच करने के लिए कॉन्टेंट के एक सेट की ज़रूरत है, तो Flutter का इस्तेमाल करें डेवलपर दस्तावेज़ों में बदलाव कर सकते हैं.

Flutter डेवलपर दस्तावेज़ पाने के लिए:

  1. उस कॉन्टेंट की कॉन्टेंट डायरेक्ट्री पर जाएं जो एआई एजेंट को दिखाना है खोजें.
    cd docs-agent/content/
    
  2. Flutter दस्तावेज़ को docs-agent/content/ डायरेक्ट्री में क्लोन करें.
    git clone --recurse-submodules https://github.com/flutter/website.git
    

कॉन्टेंट प्रोसेस करें

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

टेक्स्ट कॉन्टेंट को बांटें

टेक्स्ट की वह मात्रा जिसे एम्बेड करने वाला वेक्टर असरदार तरीके से दिखा सकता है सीमित. इस प्रोजेक्ट में, वेक्टर में दिखाए गए टेक्स्ट को 3,000 वर्णों तक सीमित किया गया है कम या ज़्यादा हो सकता है. इसका मतलब है कि आपको अपने कॉन्टेंट को अलग-अलग हिस्सों में बांटना होगा. वर्ण सीमा. इस सेक्शन में बताया गया है कि Docs एजेंट प्रोजेक्ट की मदद से, Markdown फ़ाइलों को टेक्स्ट के छोटे-छोटे हिस्सों में बांटा जा सकता है. इस बारे में सलाह पाने के लिए अन्य कॉन्टेंट फ़ॉर्मैट के साथ काम करते हैं, तो अन्य फ़ॉर्मैट मैनेज करें.

Markdown फ़ॉर्मैट वाले कॉन्टेंट को अलग-अलग करने के लिए:

  1. कन्वर्ज़न स्क्रिप्ट में बदलाव करके, प्रोसेसिंग स्क्रिप्ट के लिए इनपुट पैरामीटर कॉन्फ़िगर करें docs-agent/config.yaml फ़ाइल. यह उदाहरण एक सबसेट को टारगेट करता है Flutter दस्तावेज़ की सूची में हैं:
    input:
    - path: "content/website/src/ui"
      url_prefix: "https://docs.flutter.dev/ui"
    
  2. इस कॉन्फ़िगरेशन फ़ाइल में अपने बदलाव सेव करें.
  3. docs-agent प्रोजेक्ट डायरेक्ट्री पर जाएं:
    cd docs-agent/
    
  4. agent chunk निर्देश चलाकर, Markdown सोर्स कॉन्टेंट को अलग-अलग करें:
    agent chunk
    

स्क्रिप्ट इनपुट सामग्री को प्रोसेस करती है और docs-agent/data डायरेक्ट्री, जिसमें मौजूद टेक्स्ट को टाइटल, हेडिंग, और मिलते-जुलते पैराग्राफ़. इस प्रोसेस में कुछ समय लग सकता है. यह समय आपके साइज़ पर निर्भर करता है कॉन्टेंट.

टेक्स्ट एम्बेड करने वाले वेक्टर बनाएं

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

टेक्स्ट एम्बेडिंग जनरेट करने और वेक्टर डेटाबेस को पॉप्युलेट करने के लिए:

  1. docs-agent प्रोजेक्ट डायरेक्ट्री पर जाएं:
    cd docs-agent/
    
  2. agent populate का इस्तेमाल करके, वेक्टर डेटाबेस को अपने कॉन्टेंट से भरें आदेश:
    agent populate
    

यह स्क्रिप्ट जनरेट करने के लिए Google Gemini API का इस्तेमाल करती है टेक्स्ट एम्बेड करना वेक्टर और फिर आउटपुट को वेक्टर डेटाबेस में सेव करता है. प्रोसेस करने में समय लग सकता है आपके कॉन्टेंट के साइज़ पर निर्भर करेगा.

अन्य फ़ॉर्मैट इस्तेमाल करना

Docs Agent प्रोजेक्ट को Markdown की वेबसाइट के कॉन्टेंट के साथ काम करने के लिए डिज़ाइन किया गया है फ़ॉर्मैट. प्रोजेक्ट के लेखकों ने कुछ कन्वर्टर स्क्रिप्ट बनाई हैं, ताकि जनरेट किए जा सकें Markdown फ़ॉर्मैट में अन्य तरह का कॉन्टेंट मिलता है. जैसे, Google Docs, Portable डॉक्यूमेंट फ़ॉर्मैट (PDF) और Gmail. इन्हें इस्तेमाल करने के बारे में ज़्यादा जानकारी पाने के लिए, कन्वर्ज़न, docs-agent/apps_script कोड रिपॉज़िटरी की डायरेक्ट्री में शामिल किया जाएगा.

कॉन्टेंट के अन्य फ़ॉर्मैट को बदलना

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

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

कॉन्टेंट फ़ॉर्मैट के लिए स्प्लिटर स्क्रिप्ट बनाने के बाद, आपको यह चलाओ populate_vector_database.py अपने वेक्टर डेटाबेस को पॉप्युलेट करने के लिए स्क्रिप्ट. प्रोसेसिंग के बारे में ज़्यादा जानकारी पाने के लिए ऐसी फ़ाइलें जिन्हें दस्तावेज़ एजेंट के साथ इस्तेमाल किया जा सकता है, दस्तावेज़ एजेंट देखें प्रीप्रोसेस रीड.

ऐप्लिकेशन का परीक्षण करें

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

प्रोजेक्ट वेब इंटरफ़ेस को चलाने और उसकी जांच करने के लिए:

  1. docs-agent प्रोजेक्ट डायरेक्ट्री पर जाएं:
    cd docs-agent/
    
  2. वेब ऐप्लिकेशन लॉन्च स्क्रिप्ट चलाएं:
    agent chatbot
    
  3. अपने वेब ब्राउज़र का इस्तेमाल करके, लॉन्च स्क्रिप्ट का आउटपुट देगा और ऐप्लिकेशन की जाँच करेगा.
    * Running on http://your-hostname-here:5000
    

लागू करने के विकल्प

Gemini API ऐसे प्रोग्रामिंग टूल उपलब्ध कराता है जो इसके कॉम्पोनेंट की जगह ले सकते हैं Docs एजेंट को लागू करने की प्रोसेस, खास तौर पर: सिमैंटिक रिकवर करने और एट्रिब्यूट किए गए Gemini मॉडल के वैरिएंट से जुड़े सवालों के जवाब (AQA) इस्तेमाल करें. Gemini API की मदद से, सिमैंटिक रीकवरी अलग वेक्टर डेटाबेस को बदलने की सुविधा देता है. सिमैंटिक रिकवर करने की सुविधा से अपने कॉन्टेंट को एम्बेड किया जा सकता है और सेव किया जा सकता है. कॉन्टेंट बनाने AQA Gemini मॉडल को इन चीज़ों के लिए ट्यून किया गया है प्रॉम्प्ट में दिए गए सोर्स कॉन्टेंट के साथ सवालों के जवाब देना. आप सिमैंटिक का इस्तेमाल करते हैं एक्यूआई मॉडल की मदद से डेटा वापस पाने के तरीके सवालों के जवाब दें Gemini API में मौजूद अपने कॉन्टेंट के बारे में जानकारी पाएँ.

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

अन्य संसाधन

Docs एजेंट प्रोजेक्ट के बारे में ज़्यादा जानकारी के लिए, कोड रिपॉज़िटरी के लिए भी ऐसा कर सकते हैं. अगर आपको ऐप्लिकेशन बनाने में मदद चाहिए या डेवलपर की तलाश है मिलकर काम करने के लिए, Google Developers कम्यूनिटी Discord सर्वर.

प्रोडक्शन ऐप्लिकेशन

यदि आपको दस्तावेज़ एजेंट को बड़ी ऑडियंस के लिए डिप्लॉय करना है, तो ध्यान रखें कि Google Gemini API पर, अनुरोधों की संख्या सीमित की जा सकती है और इस्तेमाल पर पाबंदियां लगी होती हैं. अगर आपको Gemini API की मदद से प्रोडक्शन के लिए ऐप्लिकेशन बनाना है, जैसे कि Docs एजेंट, पैसे चुकाएं Google Cloud Vertex AI सेवाएं जोड़ी जा सकती हैं.