Intugle MCP Server
आधिकारिकडेटा इंजीनियरिंग एजेंटों का उपयोग करके स्वचालित सिमैंटिक मॉडल तैयार करें और मांग पर निर्मित डेटा उत्पाद प्राप्त करें
दस्तावेज़
स्वचालित डेटा इंटेलिजेंस के लिए GenAI-संचालित टूलकिट।
खंडित डेटा को जुड़े हुए सिमैंटिक डेटा मॉडल में बदलें
अवलोकन
Intugle की GenAI-संचालित ओपन-सोर्स Python लाइब्रेरी आपके मौजूदा डेटा सिस्टम पर एक सिमैंटिक डेटा मॉडल बनाती है। इसके मूल में, यह डेटा संपत्तियों के बीच सार्थक लिंक और संबंधों की खोज करती है — उन्हें प्रोफाइल, वर्गीकरण और व्यावसायिक शब्दावली से समृद्ध करती है। इस जुड़ी हुई ज्ञान परत के साथ, आप सिमैंटिक खोज को सक्षम कर सकते हैं और एकीकृत डेटा उत्पाद बनाने के लिए स्वचालित रूप से क्वेरी उत्पन्न कर सकते हैं, जिससे डेटा एकीकरण और अन्वेषण तेज़, अधिक सटीक और बहुत कम मैन्युअल हो जाता है।
यह किसके लिए है?
- डेटा इंजीनियर और आर्किटेक्ट अक्सर खंडित डेटा संपत्तियों को मैन्युअल रूप से प्रोफाइल करने, वर्गीकृत करने और एक साथ जोड़ने में सप्ताह बिताते हैं। Intugle के साथ, वे इस प्रक्रिया को शुरू से अंत तक स्वचालित कर सकते हैं, सार्थक लिंक और संबंधों को उजागर करके तुरंत एक जुड़ी हुई सिमैंटिक परत उत्पन्न कर सकते हैं।
- डेटा विश्लेषक और वैज्ञानिक वास्तविक विश्लेषण शुरू करने से पहले ही डेटा तैयारी और तत्परता पर अनगिनत घंटे बिताते हैं। Intugle प्रासंगिक बुद्धिमत्ता प्रदान करके, स्वचालित रूप से SQL और संबंधों और व्यावसायिक अर्थ से समृद्ध पुन: प्रयोज्य डेटा उत्पाद उत्पन्न करके इसे गति देता है।
- व्यावसायिक विश्लेषक और निर्णय निर्माता उत्तरों के लिए तकनीकी टीमों पर लगातार निर्भरता के कारण धीमे हो जाते हैं। Intugle प्राकृतिक भाषा प्रश्नों और सिमैंटिक खोज को सक्षम करके इस अड़चन को दूर करता है, उन्हें मांग पर विश्वसनीय अंतर्दृष्टि प्रदान करता है।
विशेषताएँ
- सिमैंटिक डेटा मॉडल - कच्चे, खंडित डेटासेट को एक बुद्धिमान सिमैंटिक ग्राफ में बदलें जो इकाइयों, संबंधों और संदर्भ को कैप्चर करता है — जुड़ी हुई बुद्धिमत्ता की नींव।
- व्यावसायिक शब्दावली और सिमैंटिक खोज: स्वचालित रूप से एक व्यावसायिक शब्दावली उत्पन्न करें और ऐसी खोज सक्षम करें जो केवल कीवर्ड नहीं, बल्कि अर्थ समझती है — डेटा को तकनीकी और व्यावसायिक उपयोगकर्ताओं के बीच अधिक सुलभ बनाती है।
- डेटा उत्पाद - संदर्भ से समृद्ध SQL और पुन: प्रयोज्य डेटा उत्पाद तुरंत उत्पन्न करें, मैन्युअल पाइपलाइनों को समाप्त करें और डेटा-से-अंतर्दृष्टि को गति दें।
- अवधारणात्मक खोज - प्राकृतिक भाषा प्रश्नों से डेटा उत्पाद योजनाएँ उत्पन्न करें, व्यावसायिक प्रश्नों और निष्पादन योग्य डेटा उत्पाद परिभाषाओं के बीच की खाई को पाटें। प्रलेखन में अधिक जानें।
समर्थित एकीकरण
| श्रेणी | एकीकरण |
|---|---|
| डेटा वेयरहाउस | Snowflake, Databricks |
| डेटाबेस | SQLite, PostgreSQL, SQL Server, MySQL |
| स्थानीय | Pandas, DuckDB (CSV, Parquet, Excel) |
Streamlit ऐप
intugle लाइब्रेरी में एक Streamlit एप्लिकेशन शामिल है जो सिमैंटिक डेटा मॉडल बनाने और विज़ुअलाइज़ करने के लिए एक इंटरैक्टिव वेब इंटरफ़ेस प्रदान करता है।
https://github.com/user-attachments/assets/402c3f3d-baf3-4ece-ba55-4e06437defc5
Streamlit ऐप का उपयोग करने के लिए, intugle को streamlit अतिरिक्त के साथ इंस्टॉल करें:
pip install intugle[streamlit]
आप intugle-mcp कमांड या uvx का उपयोग करके Streamlit एप्लिकेशन लॉन्च कर सकते हैं:
intugle-streamlit
# Or using uvx
uvx --from intugle[streamlit] intugle-streamlit
एप्लिकेशन तक पहुँचने के लिए अपने टर्मिनल में प्रदान किए गए URL (आमतौर पर http://localhost:8501) को खोलें। अधिक विवरण के लिए, Streamlit ऐप प्रलेखन देखें।
Google Colab जैसे क्लाउड वातावरण में ऐप चलाने के लिए, कृपया हमारी Streamlit क्विकस्टार्ट नोटबुक देखें।
शुरू करना
इंस्टॉलेशन
Windows और Linux के लिए, आप इन चरणों का पालन कर सकते हैं। macOS के लिए, कृपया नीचे macOS अनुभाग में अतिरिक्त चरण देखें।
इंस्टॉल करने से पहले, एक वर्चुअल वातावरण बनाने की अनुशंसा की जाती है:
python -m venv .venv
source .venv/bin/activate
फिर, पैकेज इंस्टॉल करें:
pip install intugle
macOS
macOS उपयोगकर्ताओं के लिए, आपको libomp लाइब्रेरी इंस्टॉल करने की आवश्यकता हो सकती है:
brew install libomp
यदि आपने python.org से आधिकारिक इंस्टॉलर का उपयोग करके Python इंस्टॉल किया है, तो आपको अपने टर्मिनल में निम्नलिखित कमांड चलाकर SSL प्रमाणपत्र इंस्टॉल करने की भी आवश्यकता हो सकती है। कृपया 3.XX को अपने विशिष्ट Python संस्करण से बदलें। यदि आपने Homebrew का उपयोग करके Python इंस्टॉल किया है तो यह चरण आवश्यक नहीं है।
/Applications/Python\ 3.XX/Install\ Certificates.command
कॉन्फ़िगरेशन
प्रोजेक्ट चलाने से पहले, आपको एक LLM कॉन्फ़िगर करना होगा। इसका उपयोग व्यावसायिक शब्दावली उत्पन्न करने और तालिकाओं के बीच लिंक की भविष्यवाणी करने जैसे कार्यों के लिए किया जाता है।
आप निम्नलिखित पर्यावरण चर सेट करके LLM को कॉन्फ़िगर कर सकते हैं:
LLM_PROVIDER: उपयोग करने के लिए LLM प्रदाता और मॉडल (जैसे,openai:gpt-3.5-turbo) LangChain के सम्मेलनों का पालन करते हुएAPI_KEY: LLM प्रदाता के लिए आपकी API कुंजी। चर का सटीक नाम प्रदाता के अनुसार भिन्न हो सकता है।
अपने वातावरण में इन चरों को सेट करने का एक उदाहरण यहां दिया गया है:
export LLM_PROVIDER="openai:gpt-3.5-turbo"
export OPENAI_API_KEY="your-openai-api-key"
क्विकस्टार्ट
प्रोजेक्ट के विस्तृत, व्यावहारिक परिचय के लिए, कृपया हमारी क्विकस्टार्ट नोटबुक देखें:
| डोमेन | नोटबुक | Colab में खोलें |
|---|---|---|
| स्वास्थ्य सेवा | quickstart_healthcare.ipynb | |
| तकनीकी विनिर्माण | quickstart_tech_manufacturing.ipynb | |
| FMCG | quickstart_fmcg.ipynb | |
| खेल मीडिया | quickstart_sports_media.ipynb | |
| Databricks Unity Catalog [स्वास्थ्य देखभाल] | quickstart_healthcare_databricks.ipynb | केवल Databricks नोटबुक |
| Snowflake Horizon Catalog [ FMCG ] | quickstart_fmcg_snowflake.ipynb | केवल Snowflake नोटबुक |
| Cortex Analyst के साथ मूल Snowflake [ तकनीकी विनिर्माण ] | quickstart_native_snowflake.ipynb | |
| AI/BI Genie के साथ मूल Databricks [ तकनीकी विनिर्माण ] | quickstart_native_databricks.ipynb | |
| Streamlit ऐप | quickstart_streamlit.ipynb | |
| अवधारणात्मक खोज | quickstart_conceptual_search.ipynb | |
| समग्र संबंध भविष्यवाणी | quickstart_basketball_composite_links.ipynb |
ये डेटासेट आपको निम्नलिखित चरणों के माध्यम से ले जाएंगे:
- सिमैंटिक मॉडल उत्पन्न करें → एकीकृत परत जो खंडित डेटासेट को बदलती है, जुड़ी हुई बुद्धिमत्ता की नींव बनाती है।
- 1.1 डेटा को प्रोफाइल और वर्गीकृत करें → अपने डेटा स्रोतों का विश्लेषण करके उनकी संरचना, डेटा प्रकार और अन्य विशेषताओं को समझें।
- 1.2 डेटा के बीच लिंक और संबंध खोजें → खंडित तालिकाओं में समग्र कुंजियों सहित सार्थक कनेक्शन (PK और FK) प्रकट करें।
- 1.3 एक व्यावसायिक शब्दावली उत्पन्न करें → व्यवसाय-अनुकूल शब्द बनाएं और संदर्भ के साथ डेटा क्वेरी करने के लिए उनका उपयोग करें।
- 1.4 सिमैंटिक खोज सक्षम करें → बुद्धिमान खोज जो केवल कीवर्ड नहीं, बल्कि अर्थ समझती है — डेटा को तकनीकी और व्यावसायिक दोनों उपयोगकर्ताओं के लिए अधिक सुलभ बनाती है।
- 1.5 सिमैंटिक मॉडल की कल्पना करें → YAML फ़ाइलों के रूप में सिमैंटिक परत के समृद्ध मेटाडेटा तक पहुँच प्राप्त करें और ग्राफ के रूप में कल्पना करें।
- एकीकृत डेटा उत्पाद बनाएँ → बस अपनी डेटा तालिकाओं में विशेषताओं को चुनें, और टूलकिट को सिमैंटिक परत का उपयोग करके सभी आवश्यक जॉइन, रूपांतरण और एकत्रीकरण के साथ स्वचालित रूप से क्वेरी उत्पन्न करने दें। निष्पादित होने पर, ये क्वेरी पुन: प्रयोज्य डेटा उत्पाद उत्पन्न करती हैं।
प्रलेखन
अधिक विस्तृत जानकारी, उन्नत उपयोग और ट्यूटोरियल के लिए, कृपया हमारी पूर्ण प्रलेखन साइट देखें।
उपयोग
प्रोजेक्ट के मुख्य वर्कफ़्लो में सिमैंटिक परत बनाने के लिए SemanticModel का उपयोग करना और फिर उस परत से डेटा उत्पाद उत्पन्न करने के लिए DataProduct का उपयोग करना शामिल है।
from intugle import SemanticModel
# Define your datasets
datasets = {
"allergies": {"path": "path/to/allergies.csv", "type": "csv"},
"patients": {"path": "path/to/patients.csv", "type": "csv"},
"claims": {"path": "path/to/claims.csv", "type": "csv"},
# ... add other datasets
}
# Build the semantic model
sm = SemanticModel(datasets, domain="Healthcare")
sm.build()
# Access the profiling results
print(sm.profiling_df.head())
# Access the discovered links
print(sm.links_df)
विस्तृत कोड उदाहरणों और संपूर्ण वॉकथ्रू के लिए, कृपया हमारी क्विकस्टार्ट नोटबुक देखें।
डेटा उत्पाद
एक बार सिमैंटिक मॉडल बन जाने के बाद, आप सिमैंटिक परत से एकीकृत डेटा उत्पाद उत्पन्न करने के लिए DataProduct वर्ग का उपयोग कर सकते हैं।
from intugle import DataProduct
# Define an ETL model
etl = {
"name": "top_patients_by_claim_count",
"fields": [
{
"id": "patients.first",
"name": "first_name",
},
{
"id": "patients.last",
"name": "last_name",
},
{
"id": "claims.id",
"name": "number_of_claims",
"category": "measure",
"measure_func": "count"
}
],
"filter": {
"sort_by": [
{
"id": "claims.id",
"alias": "number_of_claims",
"direction": "desc"
}
],
"limit": 10
}
}
# Create a DataProduct and build it
dp = DataProduct()
data_product = dp.build(etl)
# View the data product as a DataFrame
print(data_product.to_df())
सिमैंटिक खोज
सिमैंटिक खोज सुविधा आपको प्राकृतिक भाषा का उपयोग करके अपने डेटासेट में कॉलम खोजने की अनुमति देती है। यह Qdrant वेक्टर डेटाबेस के शीर्ष पर बनाई गई है।
पूर्ण सेटअप निर्देशों (Docker कमांड और पर्यावरण चर सहित) के लिए, कृपया सिमैंटिक खोज प्रलेखन देखें।
उपयोग
एक बार जब आप सिमैंटिक मॉडल बना लेते हैं, तो आप सिमैंटिक खोज करने के लिए search विधि का उपयोग कर सकते हैं। खोज फ़ंक्शन एक pandas DataFrame लौटाता है जिसमें खोज परिणाम होते हैं, जिसमें कॉलम के प्रोफाइलिंग मेट्रिक्स, श्रेणी, तालिका का नाम और तालिका शब्दावली शामिल होती है।
from intugle import SemanticModel
# Define your datasets
datasets = {
"allergies": {"path": "path/to/allergies.csv", "type": "csv"},
"patients": {"path": "path/to/patients.csv", "type": "csv"},
"claims": {"path": "path/to/claims.csv", "type": "csv"},
# ... add other datasets
}
# Build the semantic model
sm = SemanticModel(datasets, domain="Healthcare")
sm.build()
# Perform a semantic search
search_results = sm.search("reason for hospital visit")
# View the search results
print(search_results)
विस्तृत कोड उदाहरणों और संपूर्ण वॉकथ्रू के लिए, कृपया हमारी क्विकस्टार्ट नोटबुक देखें।
MCP सर्वर
Intugle में एक अंतर्निहित MCP (मॉडल संदर्भ प्रोटोकॉल) सर्वर शामिल है जो आपकी सिमैंटिक परत को AI सहायकों और LLM-संचालित क्लाइंट्स के सामने उजागर करता है। इसका मुख्य उद्देश्य एजेंटों को get_tables और get_schema जैसे उपकरणों का उपयोग करके आपके डेटा की संरचना को समझने की अनुमति देना है।
एक बार आपका सिमैंटिक मॉडल बन जाने के बाद, आप एक सरल कमांड से सर्वर शुरू कर सकते हैं:
intugle-mcp
यह AI एजेंटों को प्रोग्रामेटिक रूप से आपके डेटा संदर्भ के साथ इंटरैक्ट करने में सक्षम बनाता है। यह लाइब्रेरी के साथ वाइब कोडिंग को भी सक्षम करता है।
सर्वर सेट करने और अपने पसंदीदा क्लाइंट को कनेक्ट करने के विस्तृत निर्देशों के लिए, कृपया हमारा पूर्ण प्रलेखन देखें।
समुदाय
प्रश्न पूछने, अपनी परियोजनाएँ साझा करने और अन्य उपयोगकर्ताओं से जुड़ने के लिए हमारे समुदाय में शामिल हों।
योगदान
योगदान का स्वागत है! दिशानिर्देशों के लिए कृपया CONTRIBUTING.md फ़ाइल देखें।
लाइसेंस
यह प्रोजेक्ट Apache License, Version 2.0 के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।
तृतीय-पक्ष सॉफ़्टवेयर नोटिस NOTICE फ़ाइल में उपलब्ध हैं।