Intugle MCP Server

resmi

Hasilkan model semantik otomatis menggunakan agen rekayasa data dan produk data bawaan sesuai permintaan

Dokumentasi

Intugle Logo

Toolkit bertenaga GenAI untuk kecerdasan data otomatis.

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

Ubah Data Terfragmentasi Menjadi Model Data Semantik yang Terhubung

Gambaran Umum

Pustaka Python sumber terbuka bertenaga GenAI dari Intugle membangun model data semantik di atas sistem data Anda yang sudah ada. Pada intinya, ia menemukan tautan dan hubungan bermakna di seluruh aset data — memperkayanya dengan profil, klasifikasi, dan glosarium bisnis. Dengan lapisan pengetahuan yang terhubung ini, Anda dapat mengaktifkan pencarian semantik dan menghasilkan kueri secara otomatis untuk menciptakan produk data terpadu, menjadikan integrasi dan eksplorasi data lebih cepat, lebih akurat, dan jauh lebih sedikit pekerjaan manual.

intugle-architecture

Untuk Siapa Ini?

  • Insinyur & Arsitek Data sering menghabiskan waktu berminggu-minggu untuk membuat profil, mengklasifikasikan, dan menyatukan aset data yang terfragmentasi secara manual. Dengan Intugle, mereka dapat mengotomatiskan proses ini dari ujung ke ujung, mengungkap tautan dan hubungan bermakna untuk langsung menghasilkan lapisan semantik yang terhubung.
  • Analis & Ilmuwan Data menghabiskan waktu berjam-jam untuk kesiapan dan persiapan data sebelum mereka bahkan dapat memulai analisis yang sebenarnya. Intugle mempercepat ini dengan menyediakan kecerdasan kontekstual, secara otomatis menghasilkan SQL dan produk data yang dapat digunakan kembali yang diperkaya dengan hubungan dan makna bisnis.
  • Analis Bisnis & Pengambil Keputusan diperlambat oleh ketergantungan terus-menerus pada tim teknis untuk mendapatkan jawaban. Intugle menghilangkan hambatan ini dengan memungkinkan kueri bahasa alami dan pencarian semantik, memberi mereka wawasan tepercaya sesuai permintaan.

Fitur

  • Model Data Semantik - Ubah dataset mentah dan terfragmentasi menjadi graf semantik cerdas yang menangkap entitas, hubungan, dan konteks — fondasi untuk kecerdasan yang terhubung.
  • Glosarium Bisnis & Pencarian Semantik: Hasilkan glosarium bisnis secara otomatis dan aktifkan pencarian yang memahami makna, bukan hanya kata kunci — membuat data lebih mudah diakses oleh pengguna teknis dan bisnis.
  • Produk Data - Hasilkan SQL dan produk data yang dapat digunakan kembali secara instan yang diperkaya dengan konteks, menghilangkan pipeline manual dan mempercepat proses dari data ke wawasan.
  • Pencarian Konseptual - Hasilkan rencana produk data dari kueri bahasa alami, menjembatani kesenjangan antara pertanyaan bisnis dan definisi produk data yang dapat dieksekusi. Pelajari lebih lanjut di dokumentasi.

Integrasi yang Didukung

KategoriIntegrasi
Gudang DataSnowflake, Databricks
Basis DataSQLite, PostgreSQL, SQL Server, MySQL
LokalPandas, DuckDB (CSV, Parquet, Excel)

Aplikasi Streamlit

Pustaka intugle mencakup aplikasi Streamlit yang menyediakan antarmuka web interaktif untuk membangun dan memvisualisasikan model data semantik.

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

Untuk menggunakan aplikasi Streamlit, instal intugle dengan ekstra streamlit:

pip install intugle[streamlit]

Anda dapat meluncurkan aplikasi Streamlit menggunakan perintah intugle-mcp atau uvx:

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

Buka URL yang disediakan di terminal Anda (biasanya http://localhost:8501) untuk mengakses aplikasi. Untuk detail lebih lanjut, lihat dokumentasi Aplikasi Streamlit.

Untuk menjalankan aplikasi di lingkungan cloud seperti Google Colab, silakan lihat notebook quickstart Streamlit kami.

Memulai

Instalasi

Untuk Windows dan Linux, Anda dapat mengikuti langkah-langkah ini. Untuk macOS, silakan lihat langkah tambahan di bagian macOS di bawah ini.

Sebelum menginstal, disarankan untuk membuat lingkungan virtual:

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

Kemudian, instal paket:

pip install intugle

macOS

Untuk pengguna macOS, Anda mungkin perlu menginstal pustaka libomp:

brew install libomp

Jika Anda menginstal Python menggunakan penginstal resmi dari python.org, Anda mungkin juga perlu menginstal sertifikat SSL dengan menjalankan perintah berikut di terminal Anda. Harap ganti 3.XX dengan versi Python spesifik Anda. Langkah ini tidak diperlukan jika Anda menginstal Python menggunakan Homebrew.

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

Konfigurasi

Sebelum menjalankan proyek, Anda perlu mengonfigurasi LLM. Ini digunakan untuk tugas-tugas seperti menghasilkan glosarium bisnis dan memprediksi tautan antar tabel.

Anda dapat mengonfigurasi LLM dengan mengatur variabel lingkungan berikut:

  • LLM_PROVIDER: Penyedia dan model LLM yang akan digunakan (mis., openai:gpt-3.5-turbo) mengikuti konvensi LangChain
  • API_KEY: Kunci API Anda untuk penyedia LLM. Nama pasti variabel dapat bervariasi dari penyedia ke penyedia.

Berikut adalah contoh cara mengatur variabel-variabel ini di lingkungan Anda:

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

Mulai Cepat

Untuk pengenalan proyek yang mendetail dan langsung, silakan lihat notebook quickstart kami:

DomainNotebookBuka di Colab
Kesehatanquickstart_healthcare.ipynbColab
Manufaktur Teknologiquickstart_tech_manufacturing.ipynbColab
FMCGquickstart_fmcg.ipynbColab
Media Olahragaquickstart_sports_media.ipynbColab
Databricks Unity Catalog [Kesehatan]quickstart_healthcare_databricks.ipynbHanya Notebook Databricks
Snowflake Horizon Catalog [ FMCG ]quickstart_fmcg_snowflake.ipynbHanya Notebook Snowflake
Snowflake Native dengan Cortex Analyst [ Manufaktur Teknologi ]quickstart_native_snowflake.ipynbColab
Databricks Native dengan AI/BI Genie [ Manufaktur Teknologi ]quickstart_native_databricks.ipynbColab
Aplikasi Streamlitquickstart_streamlit.ipynbColab
Pencarian Konseptualquickstart_conceptual_search.ipynbColab
Prediksi Hubungan Kompositquickstart_basketball_composite_links.ipynbColab

Dataset ini akan membawa Anda melalui langkah-langkah berikut:

  • Hasilkan Model Semantik → Lapisan terpadu yang mengubah dataset terfragmentasi, menciptakan fondasi untuk kecerdasan yang terhubung.
    • 1.1 Profilkan dan klasifikasikan data → Analisis sumber data Anda untuk memahami struktur, tipe data, dan karakteristik lainnya.
    • 1.2 Temukan tautan & hubungan antar data → Ungkap koneksi bermakna (PK & FK), termasuk kunci komposit, di seluruh tabel yang terfragmentasi.
    • 1.3 Hasilkan glosarium bisnis → Buat istilah ramah bisnis dan gunakan untuk mengkueri data dengan konteks.
    • 1.4 Aktifkan pencarian semantik → Pencarian cerdas yang memahami makna, bukan hanya kata kunci—membuat data lebih mudah diakses oleh pengguna teknis dan bisnis.
    • 1.5 Visualisasikan model semantik→ Dapatkan akses ke metadata yang diperkaya dari lapisan semantik dalam bentuk file YAML dan visualisasikan dalam bentuk graf
  • Bangun Produk Data Terpadu → Cukup pilih atribut di seluruh tabel data Anda, dan biarkan toolkit menghasilkan kueri secara otomatis dengan semua join, transformasi, dan agregasi yang diperlukan menggunakan lapisan semantik. Saat dieksekusi, kueri ini menghasilkan produk data yang dapat digunakan kembali.

Dokumentasi

Untuk informasi lebih detail, penggunaan lanjutan, dan tutorial, silakan lihat situs dokumentasi lengkap kami.

Penggunaan

Alur kerja inti proyek melibatkan penggunaan SemanticModel untuk membangun lapisan semantik, dan kemudian menggunakan DataProduct untuk menghasilkan produk data dari lapisan tersebut.

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)

Untuk contoh kode detail dan panduan lengkap, silakan lihat notebook quickstart kami.

Produk Data

Setelah model semantik dibangun, Anda dapat menggunakan kelas DataProduct untuk menghasilkan produk data terpadu dari lapisan semantik.

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

Pencarian Semantik

Fitur pencarian semantik memungkinkan Anda mencari kolom di dataset Anda menggunakan bahasa alami. Ini dibangun di atas basis data vektor Qdrant.

Untuk instruksi pengaturan lengkap (termasuk perintah Docker dan variabel lingkungan), silakan lihat Dokumentasi Pencarian Semantik.

Penggunaan

Setelah Anda membangun model semantik, Anda dapat menggunakan metode search untuk melakukan pencarian semantik. Fungsi pencarian mengembalikan DataFrame pandas yang berisi hasil pencarian, termasuk metrik profiling kolom, kategori, nama tabel, dan glosarium tabel.

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)

Untuk contoh kode detail dan panduan lengkap, silakan lihat notebook quickstart kami.

Server MCP

Intugle menyertakan server MCP (Model Context Protocol) bawaan yang mengekspos lapisan semantik Anda ke asisten AI dan klien bertenaga LLM. Tujuan utamanya adalah memungkinkan agen memahami struktur data Anda dengan menggunakan alat seperti get_tables dan get_schema.

Setelah model semantik Anda dibangun, Anda dapat memulai server dengan perintah sederhana:

intugle-mcp

Ini memungkinkan agen AI untuk berinteraksi secara terprogram dengan konteks data Anda. Ini juga memungkinkan vibe coding dengan pustaka

Untuk instruksi detail tentang menyiapkan server dan menghubungkan klien favorit Anda, silakan lihat dokumentasi lengkap kami.

Komunitas

Bergabunglah dengan komunitas kami untuk mengajukan pertanyaan, membagikan proyek Anda, dan terhubung dengan pengguna lain.

Berkontribusi

Kontribusi sangat diterima! Silakan lihat file CONTRIBUTING.md untuk panduan.

Lisensi

Proyek ini dilisensikan di bawah Lisensi Apache, Versi 2.0. Lihat file LICENSE untuk detailnya. Pemberitahuan perangkat lunak pihak ketiga tersedia di file NOTICE.