Intugle MCP Server

resmi

Talep üzerine veri mühendisliği ajanları ve yerleşik veri ürünleri kullanarak otomatik anlamsal modeller oluşturun.

Dokümantasyon

Intugle Logo

Otomatik veri zekası için GenAI destekli araç seti.

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

Parçalanmış Verileri Bağlantılı Anlamsal Veri Modeline Dönüştürün

Genel Bakış

Intugle'ın GenAI destekli açık kaynak Python kütüphanesi, mevcut veri sistemleriniz üzerinde anlamsal bir veri modeli oluşturur. Temelinde, veri varlıkları arasındaki anlamlı bağlantıları ve ilişkileri keşfeder; onları profiller, sınıflandırmalar ve iş sözlükleriyle zenginleştirir. Bu bağlantılı bilgi katmanıyla, anlamsal aramayı etkinleştirebilir ve birleşik veri ürünleri oluşturmak için otomatik sorgular üretebilir, böylece veri entegrasyonunu ve keşfini daha hızlı, daha doğru ve çok daha az manuel hale getirebilirsiniz.

intugle-architecture

Kimler İçin?

  • Veri Mühendisleri ve Mimarlar genellikle parçalanmış veri varlıklarını manuel olarak profillemek, sınıflandırmak ve birleştirmek için haftalar harcarlar. Intugle ile bu süreci uçtan uca otomatikleştirebilir, anlamlı bağlantıları ve ilişkileri ortaya çıkararak anında bağlantılı bir anlamsal katman oluşturabilirler.
  • Veri Analistleri ve Bilim İnsanları gerçek analize başlamadan önce veri hazırlığı ve düzenlemesi için sonsuz saatler harcarlar. Intugle, bağlamsal zeka sağlayarak, ilişkiler ve iş anlamıyla zenginleştirilmiş SQL ve yeniden kullanılabilir veri ürünlerini otomatik olarak oluşturarak bu süreci hızlandırır.
  • İş Analistleri ve Karar Vericiler cevaplar için teknik ekiplere sürekli bağımlılık nedeniyle yavaşlarlar. Intugle, doğal dil sorguları ve anlamsal aramayı etkinleştirerek bu darboğazı ortadan kaldırır ve onlara talep üzerine güvenilir içgörüler sunar.

Özellikler

  • Anlamsal Veri Modeli - Ham, parçalanmış veri kümelerini, varlıkları, ilişkileri ve bağlamı yakalayan akıllı bir anlamsal grafiğe dönüştürün — bağlantılı zekanın temeli.
  • İş Sözlüğü ve Anlamsal Arama: Otomatik olarak bir iş sözlüğü oluşturun ve yalnızca anahtar kelimeleri değil, anlamı anlayan aramayı etkinleştirin — veriyi teknik ve iş kullanıcıları arasında daha erişilebilir hale getirin.
  • Veri Ürünleri - Bağlamla zenginleştirilmiş SQL ve yeniden kullanılabilir veri ürünlerini anında oluşturun, manuel işlem hatlarını ortadan kaldırın ve veriden içgörüye geçişi hızlandırın.
  • Kavramsal Arama - Doğal dil sorgularından veri ürünü planları oluşturun, iş soruları ile yürütülebilir veri ürünü tanımları arasındaki boşluğu kapatın. Daha fazla bilgi için belgelere bakın.

Desteklenen Entegrasyonlar

KategoriEntegrasyonlar
Veri AmbarlarıSnowflake, Databricks
VeritabanlarıSQLite, PostgreSQL, SQL Server, MySQL
YerelPandas, DuckDB (CSV, Parquet, Excel)

Streamlit Uygulaması

intugle kütüphanesi, anlamsal veri modelleri oluşturmak ve görselleştirmek için etkileşimli bir web arayüzü sağlayan bir Streamlit uygulaması içerir.

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

Streamlit uygulamasını kullanmak için intugle paketini streamlit eklentisiyle yükleyin:

pip install intugle[streamlit]

Streamlit uygulamasını intugle-mcp komutunu veya uvx kullanarak başlatabilirsiniz:

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

Uygulamaya erişmek için terminalinizde verilen URL'yi (genellikle http://localhost:8501) açın. Daha fazla ayrıntı için Streamlit Uygulaması belgelerine bakın.

Uygulamayı Google Colab gibi bir bulut ortamında çalıştırmak için lütfen Streamlit hızlı başlangıç not defterimize bakın.

Başlangıç

Kurulum

Windows ve Linux için bu adımları takip edebilirsiniz. macOS için lütfen aşağıdaki macOS bölümündeki ek adımlara bakın.

Kurulumdan önce bir sanal ortam oluşturmanız önerilir:

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

Ardından paketi yükleyin:

pip install intugle

macOS

macOS kullanıcıları için libomp kütüphanesini yüklemeniz gerekebilir:

brew install libomp

Python'u python.org'daki resmi yükleyici ile kurduysanız, terminalinizde aşağıdaki komutu çalıştırarak SSL sertifikalarını da yüklemeniz gerekebilir. Lütfen 3.XX kısmını kendi Python sürümünüzle değiştirin. Python'u Homebrew kullanarak kurduysanız bu adım gerekli değildir.

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

Yapılandırma

Projeyi çalıştırmadan önce bir LLM yapılandırmanız gerekir. Bu, iş sözlükleri oluşturmak ve tablolar arasındaki bağlantıları tahmin etmek gibi görevler için kullanılır.

LLM'i aşağıdaki ortam değişkenlerini ayarlayarak yapılandırabilirsiniz:

  • LLM_PROVIDER: LangChain'in kurallarına uygun olarak kullanılacak LLM sağlayıcısı ve modeli (örn. openai:gpt-3.5-turbo)
  • API_KEY: LLM sağlayıcısı için API anahtarınız. Değişkenin tam adı sağlayıcıdan sağlayıcıya değişebilir.

Bu değişkenleri ortamınızda nasıl ayarlayacağınıza dair bir örnek:

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

Hızlı Başlangıç

Projeye ayrıntılı, uygulamalı bir giriş için lütfen hızlı başlangıç not defterlerimize bakın:

AlanNot DefteriColab'de Aç
Sağlık Hizmetleriquickstart_healthcare.ipynbColab
Teknoloji Üretimiquickstart_tech_manufacturing.ipynbColab
Hızlı Tüketim Ürünleriquickstart_fmcg.ipynbColab
Spor Medyasıquickstart_sports_media.ipynbColab
Databricks Unity Catalog [Sağlık Hizmetleri]quickstart_healthcare_databricks.ipynbYalnızca Databricks Not Defteri
Snowflake Horizon Catalog [ Hızlı Tüketim Ürünleri ]quickstart_fmcg_snowflake.ipynbYalnızca Snowflake Not Defteri
Cortex Analyst ile Yerel Snowflake [ Teknoloji Üretimi ]quickstart_native_snowflake.ipynbColab
AI/BI Genie ile Yerel Databricks [ Teknoloji Üretimi ]quickstart_native_databricks.ipynbColab
Streamlit Uygulamasıquickstart_streamlit.ipynbColab
Kavramsal Aramaquickstart_conceptual_search.ipynbColab
Bileşik İlişki Tahminiquickstart_basketball_composite_links.ipynbColab

Bu veri kümeleri sizi aşağıdaki adımlardan geçirecektir:

  • Anlamsal Model Oluşturma → Parçalanmış veri kümelerini dönüştüren, bağlantılı zekanın temelini oluşturan birleşik katman.
    • 1.1 Veriyi profilleme ve sınıflandırma → Yapılarını, veri türlerini ve diğer özelliklerini anlamak için veri kaynaklarınızı analiz edin.
    • 1.2 Veriler arasındaki bağlantıları ve ilişkileri keşfetme → Parçalanmış tablolar arasında, bileşik anahtarlar dahil olmak üzere anlamlı bağlantıları (PK ve FK) ortaya çıkarın.
    • 1.3 İş sözlüğü oluşturma → İş dostu terimler oluşturun ve bunları bağlamla veri sorgulamak için kullanın.
    • 1.4 Anlamsal aramayı etkinleştirme → Yalnızca anahtar kelimeleri değil, anlamı anlayan akıllı arama — veriyi hem teknik hem de iş kullanıcıları için daha erişilebilir hale getirir.
    • 1.5 Anlamsal modeli görselleştirme → Anlamsal katmanın zenginleştirilmiş meta verilerine YAML dosyaları biçiminde erişin ve grafik biçiminde görselleştirin.
  • Birleşik Veri Ürünleri Oluşturma → Veri tablolarınızdaki öznitelikleri seçin ve araç setinin anlamsal katmanı kullanarak gerekli tüm birleştirmeler, dönüşümler ve toplamalarla sorguları otomatik olarak oluşturmasına izin verin. Yürütüldüğünde, bu sorgular yeniden kullanılabilir veri ürünleri üretir.

Belgeler

Daha ayrıntılı bilgi, gelişmiş kullanım ve öğreticiler için lütfen tam belge sitemize bakın.

Kullanım

Projenin temel iş akışı, anlamsal bir katman oluşturmak için SemanticModel kullanmayı ve ardından bu katmandan veri ürünleri oluşturmak için DataProduct kullanmayı içerir.

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)

Ayrıntılı kod örnekleri ve eksiksiz bir izlenecek yol için lütfen hızlı başlangıç not defterlerimize bakın.

Veri Ürünü

Anlamsal model oluşturulduktan sonra, anlamsal katmandan birleşik veri ürünleri oluşturmak için DataProduct sınıfını kullanabilirsiniz.

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

Anlamsal Arama

Anlamsal arama özelliği, doğal dil kullanarak veri kümelerinizdeki sütunları aramanıza olanak tanır. Qdrant vektör veritabanı üzerine inşa edilmiştir.

Tam kurulum talimatları için (Docker komutları ve ortam değişkenleri dahil), lütfen Anlamsal Arama Belgelerine bakın.

Kullanım

Anlamsal modeli oluşturduktan sonra, anlamsal bir arama gerçekleştirmek için search yöntemini kullanabilirsiniz. Arama işlevi, sütunun profil metrikleri, kategorisi, tablo adı ve tablo sözlüğü dahil olmak üzere arama sonuçlarını içeren bir pandas DataFrame döndürür.

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)

Ayrıntılı kod örnekleri ve eksiksiz bir izlenecek yol için lütfen hızlı başlangıç not defterlerimize bakın.

MCP Sunucusu

Intugle, anlamsal katmanınızı AI asistanlarına ve LLM destekli istemcilere sunan yerleşik bir MCP (Model Bağlam Protokolü) sunucusu içerir. Temel amacı, aracıların get_tables ve get_schema gibi araçları kullanarak verinizin yapısını anlamasını sağlamaktır.

Anlamsal modeliniz oluşturulduktan sonra, sunucuyu basit bir komutla başlatabilirsiniz:

intugle-mcp

Bu, AI aracılarının veri bağlamınızla programatik olarak etkileşime girmesini sağlar. Bu aynı zamanda kütüphane ile vibe kodlamayı da mümkün kılar.

Sunucuyu kurma ve favori istemcinizi bağlama hakkında ayrıntılı talimatlar için lütfen tam belgelerimize bakın.

Topluluk

Soru sormak, projelerinizi paylaşmak ve diğer kullanıcılarla bağlantı kurmak için topluluğumuza katılın.

Katkıda Bulunma

Katkılar memnuniyetle karşılanır! Lütfen yönergeler için CONTRIBUTING.md dosyasına bakın.

Lisans

Bu proje Apache Lisansı, Sürüm 2.0 altında lisanslanmıştır. Ayrıntılar için LICENSE dosyasına bakın. Üçüncü taraf yazılım bildirimleri NOTICE dosyasında mevcuttur.