मुख्य सामग्री पर जाएँ

DuckDB ट्यूटोरियल: एआई प्रोजेक्ट बनाना

यह ट्यूटोरियल DuckDB की प्रमुख विशेषताओं और व्यावहारिक उपयोगों से परिचित कराता है—जैसे टेबल बनाना, डेटा विश्लेषण करना, RAG एप्लिकेशन बनाना, और LLM के साथ SQL क्वेरी इंजन का उपयोग करना।
· 13 मि॰ पढ़ें

AI के साथ खोजें

हाल ही में DuckDB बीटा से बाहर आकर अपना स्थिर संस्करण लेकर आया है और तेज़ी से लोकप्रिय हो रहा है, क्योंकि विभिन्न डेटा फ्रेमवर्क इसे अपने इकोसिस्टम में समाहित कर रहे हैं। यह DuckDB सीखने का बढ़िया समय है ताकि आप डेटा और एआई की बदलती दुनिया के साथ कदम मिला सकें।

इस ट्यूटोरियल में, हम DuckDB और इसकी प्रमुख विशेषताओं को कोड उदाहरणों के साथ सीखेंगे। हमारा मुख्य फोकस यह होगा कि हम इसे मौजूदा एआई फ्रेमवर्क्स के साथ कैसे जोड़ सकते हैं। इसके लिए हम दो प्रोजेक्ट्स पर काम करेंगे। पहले, हम DuckDB को एक वेक्टर डेटाबेस के रूप में उपयोग करके Retrieval-Augmented Generation (RAG) एप्लिकेशन बनाएंगे। फिर, हम DuckDB को एआई क्वेरी इंजन की तरह उपयोग करेंगे ताकि SQL के बजाय प्राकृतिक भाषा से डेटा का विश्लेषण किया जा सके।

DuckDB क्या है?

DuckDB एक आधुनिक, उच्च-प्रदर्शन, इन-मेमाेरी विश्लेषणात्मक डेटाबेस प्रबंधन प्रणाली (DBMS) है, जिसे जटिल विश्लेषणात्मक क्वेरियों के लिए डिज़ाइन किया गया है। यह एक रिलेशनल (टेबल-उन्मुख) DBMS है जो Structured Query Language (SQL) को सपोर्ट करता है। 

DuckDB, SQLite की सरलता और उपयोग में आसानी को विश्लेषणात्मक वर्कलोड के लिए आवश्यक उच्च-प्रदर्शन क्षमताओं के साथ जोड़ता है, जिससे यह डेटा वैज्ञानिकों और विश्लेषकों के लिए उत्कृष्ट विकल्प बनता है।

मुख्य विशेषताएँ

  1. सरल संचालन: DuckDB सर्वरलेस है, इसकी कोई बाहरी निर्भरता नहीं है, और यह होस्ट प्रोसेस में एम्बेडेड रहता है। इससे इंस्टॉल और डिप्लॉय करना आसान हो जाता है—बिल्ड करने के लिए केवल C++11 कंपाइलर चाहिए।
  2. फ़ीचर-समृद्ध: यह व्यापक SQL डेटा प्रबंधन सुविधाओं को सपोर्ट करता है। DuckDB Python और R के साथ गहरा इंटीग्रेशन भी प्रदान करता है, जिससे यह डेटा साइंस और इंटरैक्टिव डेटा विश्लेषण के लिए उपयुक्त बनता है।
  3. तेज़ विश्लेषणात्मक क्वेरियाँ: DuckDB एक कॉलमनर-वेक्टराइज़्ड क्वेरी एक्ज़िक्यूशन इंजन का उपयोग करता है जो एनालिटिक्स के लिए अनुकूलित है, जिससे समानांतर क्वेरी प्रोसेसिंग और बड़े डेटासेट्स का कुशल प्रबंधन संभव होता है। 
  4. मुक्त और ओपन सोर्स: यह उदार MIT लाइसेंस के तहत जारी किया गया है, जिससे यह मुफ्त और ओपन-सोर्स है। 
  5. पोर्टेबिलिटी: किसी बाहरी निर्भरता के बिना, DuckDB अत्यधिक पोर्टेबल है और विभिन्न ऑपरेटिंग सिस्टम (Linux, macOS, Windows) और CPU आर्किटेक्चर (x86, ARM) पर चल सकता है। यह DuckDB-Wasm का उपयोग कर वेब ब्राउज़रों में भी चल सकता है।
  6. विस्तारशीलता: DuckDB एक लचीला एक्सटेंशन मैकेनिज़्म सपोर्ट करता है, जो नए डेटा टाइप्स, फ़ंक्शंस, फ़ाइल फ़ॉर्मैट्स और SQL सिंटैक्स जोड़ने की अनुमति देता है। 
  7. सघन परीक्षण: इसे Continuous Integration के माध्यम से गहन परीक्षण से गुज़ारा जाता है, जिसमें लाखों क्वेरियों वाला टेस्ट सूट शामिल है। यह विभिन्न प्लेटफ़ॉर्म और कंपाइलरों पर स्थिरता और विश्वसनीयता सुनिश्चित करता है।

DuckDB के साथ शुरुआत

इस सेक्शन में, हम DuckDB सेट अप करना, CSV फ़ाइलें लोड करना, डेटा विश्लेषण करना, और रिलेशन्स व क्वेरी फ़ंक्शंस के बारे में सीखेंगे। 

हम DuckDB का Python पैकेज इंस्टॉल करने से शुरू करेंगे।

pip install duckdb --upgrade

DuckDB डेटाबेस बनाना

स्थायी डेटाबेस बनाने के लिए, आपको बस connect फ़ंक्शन का उपयोग करना है और उसे डेटाबेस का नाम देना है। 

import duckdb
con = duckdb.connect("datacamp.duckdb")

यह आपकी लोकल डायरेक्टरी में एक डेटाबेस फ़ाइल बना देगा। 

DataCamp के DataLab में फ़ाइल डायरेक्टरी

हम एक CSV फ़ाइल लोड करेंगे और एक "bank" टेबल बनाएंगे। जिस डेटासेट का हम उपयोग कर रहे हैं वह DataLab पर उपलब्ध है और इसे Bank Marketing कहा जाता है। इसमें एक पुर्तगाली बैंकिंग संस्था के सीधे विपणन अभियानों का डेटा है, जो फ़ोन कॉल्स के माध्यम से किया गया था।

CSV फ़ाइल लोड करने के लिए, आपको पहले SQL का उपयोग करके एक टेबल बनानी होती है और फिर फ़ाइल लोड करने के लिए SQL स्क्रिप्ट के भीतर read_csv() फ़ंक्शन का उपयोग करना होता है। बस इतना ही सरल। 

इसके बाद, हम एक SQL स्क्रिप्ट चलाकर अपनी टेबल को वैलिडेट करेंगे जो डेटाबेस के भीतर सभी टेबल्स दिखाती है और परिणाम को pandas DataFrame के रूप में दिखाने के लिए fetchdf फ़ंक्शन का उपयोग करेंगे। 

नोट: हम DataCamp के DataLab का उपयोग कोड एडिटर के रूप में कर रहे हैं। DataLab एक क्लाउड Jupyter Notebook है, जिसे आप DataCamp अकाउंट होने पर मुफ्त में एक्सेस कर सकते हैं। 

con.execute("""
    CREATE TABLE IF NOT EXISTS bank AS 
    SELECT * FROM read_csv('bank-marketing.csv')
""")
con.execute("SHOW ALL TABLES").fetchdf()

डेटाबेस में सभी टेबल्स दिखाएँ।

अब जब हमने सफलतापूर्वक अपनी पहली टेबल बना ली है, तो हम डेटा का विश्लेषण करने के लिए एक शुरुआती-स्तर की क्वेरी चलाएँगे और परिणाम को DataFrame के रूप में दिखाएँगे।

con.execute("SELECT * FROM bank WHERE duration < 100 LIMIT 5").fetchdf()

SQL क्वेरी का परिणाम

DuckDB, DataCamp के नए DataLab में नैटिव रूप से एकीकृत है। इसके बारे में अधिक जानने के लिए ब्लॉग "DuckDB Makes SQL a First-Class Citizen on DataLab" पढ़ें और डेटा का विश्लेषण करने के लिए इंटरैक्टिव SQL सेल का उपयोग करें।

DuckDB Relations

DuckDB रिलेशन्स मूलतः टेबल्स हैं जिन्हें Relational API का उपयोग कर क्वेरी किया जा सकता है। यह API, Pandas DataFrames जैसे डेटा स्रोतों पर विभिन्न क्वेरी ऑपरेशनों को चेन करने की अनुमति देता है। SQL क्वेरियों का उपयोग करने के बजाय, आप डेटा के विश्लेषण के लिए विभिन्न Python फ़ंक्शंस को एक साथ चेन करेंगे। 

उदाहरण के लिए, हम एक CSV फ़ाइल लोड करके DuckDB रिलेशन बनाएँगे। टेबल का विश्लेषण करने के लिए, आप फ़िल्टर और लिमिट फ़ंक्शंस को चेन कर सकते हैं।

bank_duck = duckdb.read_csv("bank-marketing.csv",sep=";")
bank_duck.filter("duration < 100").limit(3).df()

रिलेशन्स क्वेरी का परिणाम

हम DuckDB डेटाबेस से टेबल लोड करके भी रिलेशन्स बना सकते हैं। 

rel = con.table("bank")
rel.columns
['age',
 'job',
 'marital',
 'education',
 'default',
 'housing',
 'loan',
 'contact',
 'month',
 'day_of_week',
 'duration',
 'campaign',
 'pdays',
 'previous',
 'poutcome',
 'emp.var.rate',
 'cons.price.idx',
 'cons.conf.idx',
 'euribor3m',
 'nr.employed',
 'y']

आइए एक ऐसा रिलेशन लिखें जो डेटा विश्लेषण के लिए कई फ़ंक्शंस का उपयोग करे। 

rel.filter("duration < 100").project("job,education,loan").order("job").limit(3).df()

हमें तीन पंक्तियाँ और कॉलम मिले हैं जो job के अनुसार सॉर्ट किए गए हैं और duration कॉलम से फ़िल्टर किए गए हैं।

रिलेशन्स क्वेरी का परिणाम

DuckDB Query फ़ंक्शन

DuckDB का क्वेरी फ़ंक्शन डेटाबेस के भीतर SQL क्वेरियों को चलाने की अनुमति देता है और ऐसे परिणाम लौटाता है जिन्हें आगे के विश्लेषण के लिए विभिन्न फ़ॉर्मैट्स में बदला जा सकता है।

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

सरल डेटा विश्लेषण के लिए रिलेशनल डेटाबेस को मैनेज करना और क्वेरियाँ चलाना सीखने के लिए SQL Fundamentals स्किल ट्रैक लें।

res = duckdb.query("""SELECT 
                            job,
                            COUNT(*) AS total_clients_contacted,
                            AVG(duration) AS avg_campaign_duration,
                        FROM 
                            'bank-marketing.csv'
                        WHERE 
                            age > 30
                        GROUP BY 
                            job
                        ORDER BY 
                            total_clients_contacted DESC;""")
res.df()

क्वेरी फ़ंक्शन का परिणाम.

अब हम डेटाबेस से कनेक्शन बंद करेंगे और उस कनेक्शन से संबद्ध संसाधनों को मुक्त करेंगे, ताकि संभावित मेमोरी और फ़ाइल हैंडल लीक से बचा जा सके।

con.close()

यदि आपको ऊपर दिया गया कोड चलाने में समस्या आ रही है, तो कृपया Getting Started with DuckDB वर्कस्पेस देखें। 

DuckDB के साथ RAG एप्लिकेशन बनाना

पहले प्रोजेक्ट में, हम LlamaIndex के साथ एक RAG एप्लिकेशन बनाना सीखेंगे और DuckDB को वेक्टर डेटाबेस और रिट्रीवर के रूप में उपयोग करेंगे। 

सेटअप

इंडेक्स बनाने और रिट्रीव करने के लिए आवश्यक सभी Python पैकेज इंस्टॉल करें। 

%%capture
%pip install duckdb
%pip install llama-index
%pip install llama-index-vector-stores-duckdb

आवश्यक Python पैकेज और फ़ंक्शंस इम्पोर्ट करें। 

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.vector_stores.duckdb import DuckDBVectorStore
from llama_index.core import StorageContext

from IPython.display import Markdown, display

GPT-4o और एम्बेडिंग मॉडल सेट करना

भाषा मॉडल के लिए, हम नवीनतम GPT4o मॉडल और OpenAI API का उपयोग करेंगे। बड़े भाषा मॉडल (LLM) क्लाइंट बनाने के लिए, आपको बस मॉडल का नाम और API key प्रदान करनी है। 

import os
from llama_index.llms.openai import OpenAI

llm = OpenAI(model="gpt-4o",api_key=os.environ["OPENAI_API_KEY"])

इसके बाद, हम OpenAI के text-embedding-3-small मॉडल का उपयोग कर एम्बेड मॉडल क्लाइंट बनाएँगे। 

नोट: यदि आपके विकास परिवेश में “OPENAI_API_KEY” नाम से इनवायरनमेंट वेरिएबल सेट है, तो OpenAI API key अलग से देना वैकल्पिक है।  

from llama_index.embeddings.openai import OpenAIEmbedding
embed_model = OpenAIEmbedding(
    model="text-embedding-3-small",
)

हम OpenAI LLM और एम्बेडिंग मॉडलों को LlamaIndex की सभी फ़ंक्शंस के लिए ग्लोबल सेट करेंगे। संक्षेप में, ये मॉडल डिफ़ॉल्ट के रूप में सेट हो जाएँगे।

from llama_index.core import Settings

Settings.llm = llm
Settings.embed_model = embed_model

DuckDB को वेक्टर डेटाबेस के रूप में उपयोग करना

अपने प्रोजेक्ट के लिए, हम डेटा फ़ोल्डर से PDF फ़ाइलें लोड करेंगे। ये PDF फ़ाइलें DataCamp की ट्यूटोरियल्स हैं, जिन्हें ब्राउज़र के प्रिंट फ़ंक्शन से PDF के रूप में सेव किया गया है। 

फ़ोल्डर डायरेक्टरी को SimpleDirectoryReader फ़ंक्शन को दें और डेटा लोड करें। 

documents = SimpleDirectoryReader("Data").load_data()

Data फ़ोल्डर में फाइलों की सूची

इसके बाद, "datacamp.duckdb" नामक मौजूदा डेटाबेस का उपयोग करके “blog” नाम का एक वेक्टर स्टोर बनाएँ। फिर PDF के डेटा को एम्बेडिंग्स में बदलें और उन्हें वेक्टर स्टोर में सहेजें।

vector_store = DuckDBVectorStore(database_name = "datacamp.duckdb",table_name = "blog",persist_dir="./", embed_dim=1536)
storage_context = StorageContext.from_defaults(vector_store=vector_store)

index = VectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)

यह जाँचने के लिए कि हमारा वेक्टर स्टोर सफलतापूर्वक बना है या नहीं, हम DuckDB Python API का उपयोग करके डेटाबेस से कनेक्ट करेंगे और डेटाबेस की सभी टेबल्स दिखाने के लिए SQL क्वेरी चलाएँगे। 

import duckdb
con = duckdb.connect("datacamp.duckdb")

con.execute("SHOW ALL TABLES").fetchdf()

हमारे पास दो टेबल्स हैं: एक “bank” प्रचारात्मक टेबल और एक “blog” टेबल, जो एक वेक्टर स्टोर है। “blog” टेबल में “embedding” कॉलम है जहाँ सभी एम्बेडिंग्स सहेजी जाती हैं।

DuckDB में सभी टेबल्स दिखाएँ

एक साधारण RAG एप्लिकेशन बनाना

इंडेक्स को क्वेरी इंजन में बदलें, जो अपने आप पहले वेक्टर डेटाबेस में समान दस्तावेज़ खोजेगा और अतिरिक्त संदर्भ का उपयोग करके उत्तर जनरेट करेगा। 

RAG क्वेरी इंजन का परीक्षण करने के लिए, हम ट्यूटोरियल के बारे में प्रश्न पूछेंगे। 

query_engine = index.as_query_engine()
response = query_engine.query("Who wrote 'GitHub Actions and MakeFile: A Hands-on Introduction'?")
display(Markdown(f"<b>{response}</b>"))

और उत्तर सही है।

The author of "GitHub Actions and MakeFile: A Hands-on Introduction" is Abid Ali Awan.

मेमोरी के साथ RAG चैटबॉट बनाना

अब, आइए एक उन्नत RAG एप्लिकेशन बनाएँ जो उत्तर जनरेट करने के लिए बातचीत के इतिहास का उपयोग करता है। इसके लिए, हमें एक चैट मेमोरी बफ़र बनाना होगा और फिर मेमोरी, LLM और वेक्टर स्टोर रिट्रीवर के साथ एक चैट इंजन बनाना होगा। 

from llama_index.core.memory import ChatMemoryBuffer
from llama_index.core.chat_engine import CondensePlusContextChatEngine

memory = ChatMemoryBuffer.from_defaults(token_limit=3900)

chat_engine = CondensePlusContextChatEngine.from_defaults(
    index.as_retriever(),
    memory=memory,
    llm=llm
)

response = chat_engine.chat(
    "What is the easiest way of finetuning the Llama 3 model? Please provide step-by-step instructions."
)

display(Markdown(response.response))

हमने चैट इंजन से पूछा कि Llama 3 मॉडल को फाइन-ट्यून कैसे करें, और उसने वेक्टर स्टोर का उपयोग करके अत्यधिक सटीक उत्तर दिया।

मेमोरी वाले RAG चैटबॉट का परिणाम

यह जाँचने के लिए कि मेमोरी बफ़र सही काम कर रहा है, हम एक फ़ॉलो-अप प्रश्न पूछेंगे।

response = chat_engine.chat(
    "Could you please provide more details about the Post Fine-Tuning Steps?"
)
display(Markdown(response.response))

चैट इंजन ने पिछली बातचीत को याद रखा और उसी के अनुरूप जवाब दिया। 

मेमोरी वाले RAG चैटबॉट का फ़ॉलो-अप प्रश्न के साथ परिणाम।

यदि आपको ऊपर दिया गया कोड चलाने में समस्या आ रही है, तो कृपया Building a RAG application with DuckDB वर्कस्पेस देखें। 

LLM का उपयोग कर DuckDB SQL क्वेरी इंजन बनाना

दूसरे प्रोजेक्ट में, हम DuckDB को एक SQL क्वेरी इंजन के रूप में उपयोग करेंगे। इसमें डेटाबेस इंजन को GPT-4o मॉडल के साथ एकीकृत करना शामिल है ताकि डेटाबेस से जुड़े प्रश्नों के प्राकृतिक भाषा में उत्तर जनरेट किए जा सकें। 

SQLAlchemy का उपयोग करके डेटाबेस इंजन बनाने के लिए duckdb-engine इंस्टॉल करें।

%pip install duckdb-engine -q

DuckDB डेटाबेस लोड करना

हम create_engine फ़ंक्शन का उपयोग करके DuckDB डेटाबेस लोड करेंगे और फिर यह जाँचने के लिए एक सरल SQL क्वेरी लिखेंगे कि क्या यह सफलतापूर्वक लोड हो गया है। 

from sqlalchemy import create_engine

engine = create_engine("duckdb:///datacamp.duckdb")
with engine.connect() as connection:
    cursor = connection.exec_driver_sql("SELECT * FROM bank LIMIT 3")
    print(cursor.fetchall())

बेहतरीन। हमारा DuckDB डेटाबेस इंजन उपयोग के लिए तैयार है। 

[(56, 'housemaid', 'married', 'basic.4y', 'no', 'no', 'no', 'telephone', 'may', 'mon', 261, 1, 999, 0, 'nonexistent', 1.1, 93.994, -36.4, 4.857, 5191.0, 'no'), (57, 'services', 'married', 'high.school', 'unknown', 'no', 'no', 'telephone', 'may', 'mon', 149, 1, 999, 0, 'nonexistent', 1.1, 93.994, -36.4, 4.857, 5191.0, 'no'), (37, 'services', 'married', 'high.school', 'no', 'yes', 'no', 'telephone', 'may', 'mon', 226, 1, 999, 0, 'nonexistent', 1.1, 93.994, -36.4, 4.857, 5191.0, 'no')]

अब, हमें SQLDatabase फ़ंक्शन का उपयोग करके एक डेटाबेस टूल बनाना है। इसे एक इंजन ऑब्जेक्ट और टेबल नाम दें। 

from llama_index.core import SQLDatabase
sql_database = SQLDatabase(engine, include_tables=["bank"])

SQL क्वेरी इंजन बनाना

LlamaIndex SQL डेटाबेस ऑब्जेक्ट प्रदान करके NLSQLTableQueryEngine फ़ंक्शन का उपयोग कर SQL क्वेरी इंजन बनाएँ।

from llama_index.core.query_engine import NLSQLTableQueryEngine

query_engine = NLSQLTableQueryEngine(sql_database)

क्वेरी इंजन से “bank” टेबल के बारे में प्राकृतिक भाषा में प्रश्न पूछें। 

response = query_engine.query("Which is the longest running campaign?")


print(response.response)

जवाब में, हमें हमारे प्रश्न का उत्तर प्राकृतिक भाषा में मिलेगा। यह शानदार है, क्या यह नहीं है?

The longest running campaign in the database has a duration of 4918 days.

आइए एक जटिल प्रश्न पूछते हैं।

response = query_engine.query("Which type of job has the most housing loan?")
print(response.response)

उत्तर सटीक है और अतिरिक्त जानकारी भी देता है।  

The job type with the most housing loans is 'admin.' with 5559 housing loans. This is followed by 'blue-collar' with 4710 housing loans and 'technician' with 3616 housing loans. Other job types with significant housing loans include 'services', 'management', 'retired', 'entrepreneur', and 'self-employed'.

बैकएंड में क्या चल रहा है, यह देखने के लिए हम मेटाडेटा प्रिंट करेंगे। 

print(response.metadata)

जैसा कि हम देख सकते हैं, GPT-4o पहले SQL क्वेरी जनरेट करता है, परिणाम पाने के लिए क्वेरी चलाता है, और फिर उसी परिणाम का उपयोग करके उत्तर तैयार करता है। यह बहु-चरणीय प्रक्रिया केवल दो पंक्तियों के कोड से हासिल हो जाती है। 

{'d4ddf03c-337e-4ee6-957a-5fd2cfaa4b1c': {}, 'sql_query': "SELECT job, COUNT(housing) AS housing_loan_count\nFROM bank\nWHERE housing = 'yes'\nGROUP BY job\nORDER BY housing_loan_count DESC;", 'result': [('admin.', 5559), ('blue-collar', 4710), ('technician', 3616), ('services', 2050), ('management', 1490), ('retired', 892), ('entrepreneur', 779), ('self-employed', 740), ('unemployed', 557), ('housemaid', 540), ('student', 471), ('unknown', 172)], 'col_keys': ['job', 'housing_loan_count']}

प्रोजेक्ट पूरा होने पर इंजन को बंद कर दें। 

engine.close()

यदि आपको ऊपर दिया गया कोड चलाने में समस्या आ रही है, तो कृपया DuckDB SQL Query Engine वर्कस्पेस देखें। 

निष्कर्ष

DuckDB तेज़ है, उपयोग में आसान है, और अनेक डेटा व एआई फ्रेमवर्क्स के साथ बिना किसी रुकावट के एकीकृत हो जाता है। एक डेटा वैज्ञानिक के रूप में, आपको इसकी API के साथ अभ्यस्त होने और इसे किसी अन्य Python पैकेज की तरह उपयोग करना शुरू करने में कुछ ही मिनट लगेंगे। DuckDB की सबसे अच्छी विशेषताओं में से एक यह है कि इसकी कोई निर्भरता नहीं है—अर्थात आप इसे लगभग कहीं भी उपयोग कर सकते हैं, होस्टिंग या अतिरिक्त सेटअप की चिंता किए बिना।

इस ट्यूटोरियल में, हमने DuckDB और इसकी प्रमुख विशेषताओं के बारे में सीखा। हमने DuckDB Python API का भी अन्वेषण किया, जिसका उपयोग कर एक टेबल बनाई और सरल डेटा विश्लेषण किया। ट्यूटोरियल के दूसरे भाग में दो प्रोजेक्ट कवर किए गए: एक में DuckDB को वेक्टर डेटाबेस के रूप में उपयोग करते हुए Retrieval-Augmented Generation (RAG) एप्लिकेशन बनाना, और दूसरे में DuckDB को एक SQL क्वेरी इंजन के रूप में प्रदर्शित करना।

किसी SQL क्वेरी इंजन का उपयोग करने या डेटाबेस को एआई के साथ एकीकृत करने से पहले, आपको SQL और डेटा विश्लेषण की बुनियादी समझ होनी चाहिए। आप क्वेरी लिख सकते हैं, लेकिन आपको यह कैसे पता चलेगा कि कौन सा सवाल पूछना है? यहीं पर डेटा विश्लेषण और SQL का बुनियादी ज्ञान काम आता है। आप यह ज्ञान Associate Data Analyst in SQL करियर ट्रैक पूरा करके हासिल कर सकते हैं।

Abid Ali Awan

लेखक

Abid Ali Awan

एक प्रमाणित डेटा साइंटिस्ट के रूप में, मैं अत्याधुनिक तकनीक का उपयोग करके नवाचारी मशीन लर्निंग अनुप्रयोग बनाने के लिए उत्साहित रहता/रहती हूँ। स्पीच रिकॉग्निशन, डेटा विश्लेषण और रिपोर्टिंग, MLOps, संवादात्मक AI और NLP में मजबूत पृष्ठभूमि के साथ, मैंने ऐसे बुद्धिमान सिस्टम विकसित करने में अपनी विशेषज्ञता निखारी है जो वास्तविक प्रभाव डाल सकें। तकनीकी दक्षता के अलावा, मैं जटिल अवधारणाओं को स्पष्ट और संक्षिप्त भाषा में प्रस्तुत करने में भी निपुण हूँ। परिणामस्वरूप, मैं डेटा साइंस पर एक मांग में रहने वाला/वाली ब्लॉगर बन गया/गई हूँ, और डेटा प्रोफेशनलों के बढ़ते समुदाय के साथ अपने अनुभव और विचार साझा करता/करती हूँ। वर्तमान में, मैं कंटेंट निर्माण और संपादन पर केंद्रित हूँ, बड़े भाषा मॉडलों के साथ काम करते हुए ऐसा प्रभावशाली और आकर्षक कंटेंट विकसित कर रहा/रही हूँ जो व्यवसायों और व्यक्तियों दोनों को अपने डेटा का अधिकतम लाभ उठाने में मदद कर सके।

विषय