Intugle MCP Server

offiziell

Generieren Sie automatisierte semantische Modelle mithilfe von Data-Engineering-Agenten und erstellen Sie bei Bedarf integrierte Datenprodukte.

Dokumentation

Intugle Logo

Das GenAI-gestützte Toolkit für automatisierte Datenintelligenz.

PyPI Downloads Release Made with Python contributions - welcome License: Apache 2.0 Open Issues

Fragmentierte Daten in ein vernetztes semantisches Datenmodell transformieren

Überblick

Intugles GenAI-gestützte Open-Source-Python-Bibliothek erstellt ein semantisches Datenmodell über Ihren bestehenden Datensystemen. Im Kern entdeckt sie aussagekräftige Verknüpfungen und Beziehungen zwischen Datenbeständen – und reichert diese mit Profilen, Klassifikationen und Geschäftsglossaren an. Mit dieser vernetzten Wissensebene können Sie semantische Suche ermöglichen und automatisch Abfragen generieren, um einheitliche Datenprodukte zu erstellen. Dadurch werden Datenintegration und -exploration schneller, präziser und weit weniger manuell.

intugle-architecture

Für wen ist das?

  • Dateningenieure & -architekten verbringen oft Wochen damit, fragmentierte Datenbestände manuell zu profilieren, zu klassifizieren und zusammenzuführen. Mit Intugle können sie diesen Prozess durchgängig automatisieren, aussagekräftige Verknüpfungen und Beziehungen aufdecken und sofort eine vernetzte semantische Ebene generieren.
  • Datenanalysten & -wissenschaftler wenden endlose Stunden für Datenaufbereitung und -vorbereitung auf, bevor sie mit der eigentlichen Analyse beginnen können. Intugle beschleunigt dies durch kontextbezogene Intelligenz und generiert automatisch SQL sowie wiederverwendbare, mit Beziehungen und Geschäftsbedeutung angereicherte Datenprodukte.
  • Business-Analysten & Entscheidungsträger werden durch die ständige Abhängigkeit von technischen Teams ausgebremst. Intugle beseitigt diesen Engpass, indem es Abfragen in natürlicher Sprache und semantische Suche ermöglicht und ihnen vertrauenswürdige Erkenntnisse auf Abruf liefert.

Funktionen

  • Semantisches Datenmodell – Transformieren Sie rohe, fragmentierte Datensätze in einen intelligenten semantischen Graphen, der Entitäten, Beziehungen und Kontext erfasst – die Grundlage für vernetzte Intelligenz.
  • Geschäftsglossar & semantische Suche: Generieren Sie automatisch ein Geschäftsglossar und ermöglichen Sie eine Suche, die Bedeutung versteht, nicht nur Schlüsselwörter – und machen Sie Daten so für technische und geschäftliche Anwender zugänglicher.
  • Datenprodukte – Generieren Sie sofort SQL und wiederverwendbare, mit Kontext angereicherte Datenprodukte, eliminieren Sie manuelle Pipelines und beschleunigen Sie den Weg von Daten zur Erkenntnis.
  • Konzeptionelle Suche – Generieren Sie Datenproduktpläne aus Abfragen in natürlicher Sprache und schließen Sie die Lücke zwischen Geschäftsfragen und ausführbaren Datenproduktdefinitionen. Erfahren Sie mehr in der Dokumentation.

Unterstützte Integrationen

KategorieIntegrationen
Data WarehousesSnowflake, Databricks
DatenbankenSQLite, PostgreSQL, SQL Server, MySQL
LokalPandas, DuckDB (CSV, Parquet, Excel)

Streamlit-App

Die intugle-Bibliothek enthält eine Streamlit-Anwendung, die eine interaktive Weboberfläche zum Erstellen und Visualisieren semantischer Datenmodelle bietet.

https://github.com/user-attachments/assets/402c3f3d-baf3-4ece-ba55-4e06437defc5

Um die Streamlit-App zu verwenden, installieren Sie intugle mit dem streamlit-Extra:

pip install intugle[streamlit]

Sie können die Streamlit-Anwendung mit dem Befehl intugle-mcp oder uvx starten:

intugle-streamlit
# Or using uvx
uvx --from intugle[streamlit] intugle-streamlit

Öffnen Sie die in Ihrem Terminal angezeigte URL (normalerweise http://localhost:8501), um auf die Anwendung zuzugreifen. Weitere Details finden Sie in der Streamlit-App-Dokumentation.

Um die App in einer Cloud-Umgebung wie Google Colab auszuführen, lesen Sie bitte unser Streamlit-Schnellstart-Notebook.

Erste Schritte

Installation

Für Windows und Linux können Sie diese Schritte befolgen. Für macOS beachten Sie bitte die zusätzlichen Schritte im macOS-Abschnitt unten.

Vor der Installation wird empfohlen, eine virtuelle Umgebung zu erstellen:

python -m venv .venv
source .venv/bin/activate

Installieren Sie dann das Paket:

pip install intugle

macOS

Für macOS-Benutzer kann es erforderlich sein, die libomp-Bibliothek zu installieren:

brew install libomp

Wenn Sie Python mit dem offiziellen Installer von python.org installiert haben, müssen Sie möglicherweise SSL-Zertifikate installieren, indem Sie den folgenden Befehl in Ihrem Terminal ausführen. Bitte ersetzen Sie 3.XX durch Ihre spezifische Python-Version. Dieser Schritt ist nicht erforderlich, wenn Sie Python mit Homebrew installiert haben.

/Applications/Python\ 3.XX/Install\ Certificates.command

Konfiguration

Bevor Sie das Projekt ausführen, müssen Sie ein LLM konfigurieren. Dieses wird für Aufgaben wie die Generierung von Geschäftsglossaren und die Vorhersage von Verknüpfungen zwischen Tabellen verwendet.

Sie können das LLM konfigurieren, indem Sie die folgenden Umgebungsvariablen setzen:

  • LLM_PROVIDER: Der zu verwendende LLM-Anbieter und das Modell (z. B. openai:gpt-3.5-turbo) gemäß den LangChain-Konventionen
  • API_KEY: Ihr API-Schlüssel für den LLM-Anbieter. Der genaue Name der Variable kann je nach Anbieter variieren.

Hier ist ein Beispiel, wie Sie diese Variablen in Ihrer Umgebung setzen:

export LLM_PROVIDER="openai:gpt-3.5-turbo"
export OPENAI_API_KEY="your-openai-api-key"

Schnellstart

Für eine detaillierte, praxisnahe Einführung in das Projekt sehen Sie sich bitte unsere Schnellstart-Notebooks an:

DomäneNotebookIn Colab öffnen
Gesundheitswesenquickstart_healthcare.ipynbColab
Technologie-Fertigungquickstart_tech_manufacturing.ipynbColab
FMCGquickstart_fmcg.ipynbColab
Sportmedienquickstart_sports_media.ipynbColab
Databricks Unity Catalog [Gesundheitswesen]quickstart_healthcare_databricks.ipynbNur Databricks Notebook
Snowflake Horizon Catalog [FMCG]quickstart_fmcg_snowflake.ipynbNur Snowflake Notebook
Natives Snowflake mit Cortex Analyst [Technologie-Fertigung]quickstart_native_snowflake.ipynbColab
Natives Databricks mit AI/BI Genie [Technologie-Fertigung]quickstart_native_databricks.ipynbColab
Streamlit-Appquickstart_streamlit.ipynbColab
Konzeptionelle Suchequickstart_conceptual_search.ipynbColab
Vorhersage zusammengesetzter Beziehungenquickstart_basketball_composite_links.ipynbColab

Diese Datensätze führen Sie durch die folgenden Schritte:

  • Semantisches Modell generieren → Die einheitliche Ebene, die fragmentierte Datensätze transformiert und die Grundlage für vernetzte Intelligenz schafft.
    • 1.1 Daten profilieren und klassifizieren → Analysieren Sie Ihre Datenquellen, um deren Struktur, Datentypen und andere Merkmale zu verstehen.
    • 1.2 Verknüpfungen & Beziehungen zwischen Daten entdecken → Decken Sie aussagekräftige Verbindungen (PK & FK), einschließlich zusammengesetzter Schlüssel, über fragmentierte Tabellen hinweg auf.
    • 1.3 Ein Geschäftsglossar generieren → Erstellen Sie geschäftsfreundliche Begriffe und verwenden Sie diese, um Daten mit Kontext abzufragen.
    • 1.4 Semantische Suche aktivieren → Intelligente Suche, die Bedeutung versteht, nicht nur Schlüsselwörter – und Daten so für technische und geschäftliche Anwender zugänglicher macht.
    • 1.5 Semantisches Modell visualisieren → Erhalten Sie Zugriff auf angereicherte Metadaten der semantischen Ebene in Form von YAML-Dateien und visualisieren Sie diese in Form eines Graphen.
  • Einheitliche Datenprodukte erstellen → Wählen Sie einfach die Attribute aus Ihren Datentabellen aus und lassen Sie das Toolkit automatisch Abfragen mit allen erforderlichen Joins, Transformationen und Aggregationen unter Verwendung der semantischen Ebene generieren. Bei Ausführung erzeugen diese Abfragen wiederverwendbare Datenprodukte.

Dokumentation

Für detailliertere Informationen, fortgeschrittene Nutzung und Tutorials lesen Sie bitte unsere vollständige Dokumentationsseite.

Nutzung

Der Kernworkflow des Projekts besteht darin, den SemanticModel zu verwenden, um eine semantische Ebene aufzubauen, und dann den DataProduct, um aus dieser Ebene Datenprodukte zu generieren.

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)

Für detaillierte Codebeispiele und eine vollständige Anleitung sehen Sie sich bitte unsere Schnellstart-Notebooks an.

Datenprodukt

Sobald das semantische Modell erstellt ist, können Sie die DataProduct-Klasse verwenden, um einheitliche Datenprodukte aus der semantischen Ebene zu generieren.

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

Semantische Suche

Die semantische Suchfunktion ermöglicht es Ihnen, mit natürlicher Sprache nach Spalten in Ihren Datensätzen zu suchen. Sie basiert auf der Qdrant-Vektordatenbank.

Für vollständige Einrichtungsanweisungen (einschließlich Docker-Befehlen und Umgebungsvariablen) lesen Sie bitte die Dokumentation zur semantischen Suche.

Nutzung

Sobald Sie das semantische Modell erstellt haben, können Sie die search-Methode verwenden, um eine semantische Suche durchzuführen. Die Suchfunktion gibt einen pandas DataFrame mit den Suchergebnissen zurück, einschließlich der Profilierungsmetriken der Spalte, Kategorie, Tabellenname und Tabellenglossar.

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)

Für detaillierte Codebeispiele und eine vollständige Anleitung sehen Sie sich bitte unsere Schnellstart-Notebooks an.

MCP-Server

Intugle enthält einen integrierten MCP-Server (Model Context Protocol), der Ihre semantische Ebene für KI-Assistenten und LLM-gestützte Clients bereitstellt. Sein Hauptzweck ist es, Agenten zu ermöglichen, die Struktur Ihrer Daten mithilfe von Werkzeugen wie get_tables und get_schema zu verstehen.

Sobald Ihr semantisches Modell erstellt ist, können Sie den Server mit einem einfachen Befehl starten:

intugle-mcp

Dies ermöglicht KI-Agenten, programmatisch mit Ihrem Datenkontext zu interagieren. Dies ermöglicht auch Vibe Coding mit der Bibliothek.

Für detaillierte Anweisungen zum Einrichten des Servers und Verbinden Ihres bevorzugten Clients lesen Sie bitte unsere vollständige Dokumentation.

Community

Treten Sie unserer Community bei, um Fragen zu stellen, Ihre Projekte zu teilen und sich mit anderen Benutzern zu vernetzen.

Mitwirken

Beiträge sind willkommen! Bitte lesen Sie die CONTRIBUTING.md-Datei für Richtlinien.

Lizenz

Dieses Projekt ist unter der Apache License, Version 2.0, lizenziert. Details finden Sie in der LICENSE-Datei. Hinweise zu Drittanbieter-Software finden Sie in der NOTICE-Datei.