Intugle MCP Server
resmiHasilkan model semantik otomatis menggunakan agen rekayasa data dan produk data bawaan sesuai permintaan
Dokumentasi
Toolkit bertenaga GenAI untuk kecerdasan data otomatis.
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.
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
| Kategori | Integrasi |
|---|---|
| Gudang Data | Snowflake, Databricks |
| Basis Data | SQLite, PostgreSQL, SQL Server, MySQL |
| Lokal | Pandas, 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 LangChainAPI_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:
| Domain | Notebook | Buka di Colab |
|---|---|---|
| Kesehatan | quickstart_healthcare.ipynb | |
| Manufaktur Teknologi | quickstart_tech_manufacturing.ipynb | |
| FMCG | quickstart_fmcg.ipynb | |
| Media Olahraga | quickstart_sports_media.ipynb | |
| Databricks Unity Catalog [Kesehatan] | quickstart_healthcare_databricks.ipynb | Hanya Notebook Databricks |
| Snowflake Horizon Catalog [ FMCG ] | quickstart_fmcg_snowflake.ipynb | Hanya Notebook Snowflake |
| Snowflake Native dengan Cortex Analyst [ Manufaktur Teknologi ] | quickstart_native_snowflake.ipynb | |
| Databricks Native dengan AI/BI Genie [ Manufaktur Teknologi ] | quickstart_native_databricks.ipynb | |
| Aplikasi Streamlit | quickstart_streamlit.ipynb | |
| Pencarian Konseptual | quickstart_conceptual_search.ipynb | |
| Prediksi Hubungan Komposit | quickstart_basketball_composite_links.ipynb |
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.