Intugle MCP Server
oficialGere modelos semânticos automatizados usando agentes de engenharia de dados e produtos de dados integrados sob demanda.
Documentação
O kit de ferramentas com tecnologia GenAI para inteligência de dados automatizada.
Transforme Dados Fragmentados em um Modelo de Dados Semântico Conectado
Visão Geral
A biblioteca Python de código aberto com tecnologia GenAI da Intugle constrói um modelo de dados semântico sobre seus sistemas de dados existentes. Em sua essência, ela descobre links e relacionamentos significativos entre ativos de dados — enriquecendo-os com perfis, classificações e glossários de negócios. Com essa camada de conhecimento conectada, você pode habilitar a busca semântica e gerar consultas automaticamente para criar produtos de dados unificados, tornando a integração e a exploração de dados mais rápidas, precisas e muito menos manuais.
Para quem é isto?
- Engenheiros e Arquitetos de Dados frequentemente passam semanas perfilando, classificando e unindo manualmente ativos de dados fragmentados. Com o Intugle, eles podem automatizar esse processo de ponta a ponta, descobrindo links e relacionamentos significativos para gerar instantaneamente uma camada semântica conectada.
- Analistas e Cientistas de Dados gastam inúmeras horas na preparação e prontidão dos dados antes mesmo de poderem iniciar a análise real. O Intugle acelera isso fornecendo inteligência contextual, gerando automaticamente SQL e produtos de dados reutilizáveis enriquecidos com relacionamentos e significado de negócios.
- Analistas de Negócios e Tomadores de Decisão são desacelerados pela dependência constante de equipes técnicas para obter respostas. O Intugle remove esse gargalo ao permitir consultas em linguagem natural e busca semântica, fornecendo insights confiáveis sob demanda.
Funcionalidades
- Modelo de Dados Semântico - Transforme conjuntos de dados brutos e fragmentados em um grafo semântico inteligente que captura entidades, relacionamentos e contexto — a base para a inteligência conectada.
- Glossário de Negócios e Busca Semântica: Gere automaticamente um glossário de negócios e habilite uma busca que entende o significado, não apenas palavras-chave — tornando os dados mais acessíveis para usuários técnicos e de negócios.
- Produtos de Dados - Gere instantaneamente SQL e produtos de dados reutilizáveis enriquecidos com contexto, eliminando pipelines manuais e acelerando o caminho dos dados ao insight.
- Busca Conceitual - Gere planos de produtos de dados a partir de consultas em linguagem natural, preenchendo a lacuna entre perguntas de negócios e definições executáveis de produtos de dados. Saiba mais na documentação.
Integrações Suportadas
| Categoria | Integrações |
|---|---|
| Data Warehouses | Snowflake, Databricks |
| Bancos de Dados | SQLite, PostgreSQL, SQL Server, MySQL |
| Local | Pandas, DuckDB (CSV, Parquet, Excel) |
Aplicativo Streamlit
A biblioteca intugle inclui um aplicativo Streamlit que fornece uma interface web interativa para construir e visualizar modelos de dados semânticos.
https://github.com/user-attachments/assets/402c3f3d-baf3-4ece-ba55-4e06437defc5
Para usar o aplicativo Streamlit, instale o intugle com o extra streamlit:
pip install intugle[streamlit]
Você pode iniciar o aplicativo Streamlit usando o comando intugle-mcp ou uvx:
intugle-streamlit
# Or using uvx
uvx --from intugle[streamlit] intugle-streamlit
Abra a URL fornecida no seu terminal (geralmente http://localhost:8501) para acessar o aplicativo. Para mais detalhes, consulte a documentação do Aplicativo Streamlit.
Para executar o aplicativo em um ambiente de nuvem como o Google Colab, consulte nosso notebook de início rápido do Streamlit.
Primeiros Passos
Instalação
Para Windows e Linux, você pode seguir estes passos. Para macOS, consulte os passos adicionais na seção macOS abaixo.
Antes de instalar, é recomendado criar um ambiente virtual:
python -m venv .venv
source .venv/bin/activate
Em seguida, instale o pacote:
pip install intugle
macOS
Para usuários de macOS, pode ser necessário instalar a biblioteca libomp:
brew install libomp
Se você instalou o Python usando o instalador oficial do python.org, também pode precisar instalar os certificados SSL executando o seguinte comando no seu terminal. Substitua 3.XX pela sua versão específica do Python. Este passo não é necessário se você instalou o Python usando o Homebrew.
/Applications/Python\ 3.XX/Install\ Certificates.command
Configuração
Antes de executar o projeto, você precisa configurar um LLM. Isso é usado para tarefas como gerar glossários de negócios e prever links entre tabelas.
Você pode configurar o LLM definindo as seguintes variáveis de ambiente:
LLM_PROVIDER: O provedor e modelo LLM a serem usados (ex.,openai:gpt-3.5-turbo) seguindo as convenções do LangChainAPI_KEY: Sua chave de API para o provedor LLM. O nome exato da variável pode variar de provedor para provedor.
Aqui está um exemplo de como definir essas variáveis no seu ambiente:
export LLM_PROVIDER="openai:gpt-3.5-turbo"
export OPENAI_API_KEY="your-openai-api-key"
Início Rápido
Para uma introdução detalhada e prática ao projeto, consulte nossos notebooks de início rápido:
| Domínio | Notebook | Abrir no Colab |
|---|---|---|
| Saúde | quickstart_healthcare.ipynb | |
| Manufatura de Tecnologia | quickstart_tech_manufacturing.ipynb | |
| Bens de Consumo (FMCG) | quickstart_fmcg.ipynb | |
| Mídia Esportiva | quickstart_sports_media.ipynb | |
| Catálogo Unity do Databricks [Saúde] | quickstart_healthcare_databricks.ipynb | Apenas Notebook Databricks |
| Catálogo Horizon do Snowflake [ FMCG ] | quickstart_fmcg_snowflake.ipynb | Apenas Notebook Snowflake |
| Snowflake Nativo com Cortex Analyst [ Manufatura de Tecnologia ] | quickstart_native_snowflake.ipynb | |
| Databricks Nativo com AI/BI Genie [ Manufatura de Tecnologia ] | quickstart_native_databricks.ipynb | |
| Aplicativo Streamlit | quickstart_streamlit.ipynb | |
| Busca Conceitual | quickstart_conceptual_search.ipynb | |
| Predição de Relacionamentos Compostos | quickstart_basketball_composite_links.ipynb |
Estes conjuntos de dados o guiarão pelos seguintes passos:
- Gerar Modelo Semântico → A camada unificada que transforma conjuntos de dados fragmentados, criando a base para a inteligência conectada.
- 1.1 Perfilar e classificar dados → Analise suas fontes de dados para entender sua estrutura, tipos de dados e outras características.
- 1.2 Descobrir links e relacionamentos entre os dados → Revele conexões significativas (PK & FK), incluindo chaves compostas, entre tabelas fragmentadas.
- 1.3 Gerar um glossário de negócios → Crie termos amigáveis ao negócio e use-os para consultar dados com contexto.
- 1.4 Habilitar busca semântica → Busca inteligente que entende o significado, não apenas palavras-chave — tornando os dados mais acessíveis tanto para usuários técnicos quanto de negócios.
- 1.5 Visualizar modelo semântico → Obtenha acesso a metadados enriquecidos da camada semântica na forma de arquivos YAML e visualize na forma de grafo.
- Construir Produtos de Dados Unificados → Simplesmente escolha os atributos em suas tabelas de dados e deixe o kit de ferramentas gerar automaticamente consultas com todas as junções, transformações e agregações necessárias usando a camada semântica. Quando executadas, essas consultas produzem produtos de dados reutilizáveis.
Documentação
Para informações mais detalhadas, uso avançado e tutoriais, consulte nosso site de documentação completo.
Uso
O fluxo de trabalho principal do projeto envolve o uso do SemanticModel para construir uma camada semântica e, em seguida, usar o DataProduct para gerar produtos de dados a partir dessa camada.
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)
Para exemplos de código detalhados e um passo a passo completo, consulte nossos notebooks de início rápido.
Produto de Dados
Uma vez que o modelo semântico é construído, você pode usar a classe DataProduct para gerar produtos de dados unificados a partir da camada semântica.
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())
Busca Semântica
O recurso de busca semântica permite que você pesquise colunas em seus conjuntos de dados usando linguagem natural. Ele é construído sobre o banco de dados vetorial Qdrant.
Para instruções completas de configuração (incluindo comandos Docker e variáveis de ambiente), consulte a Documentação de Busca Semântica.
Uso
Uma vez que você tenha construído o modelo semântico, pode usar o método search para realizar uma busca semântica. A função de busca retorna um DataFrame do pandas contendo os resultados da pesquisa, incluindo as métricas de perfil da coluna, categoria, nome da tabela e glossário da tabela.
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)
Para exemplos de código detalhados e um passo a passo completo, consulte nossos notebooks de início rápido.
Servidor MCP
O Intugle inclui um servidor MCP (Model Context Protocol) integrado que expõe sua camada semântica para assistentes de IA e clientes com tecnologia LLM. Seu principal objetivo é permitir que agentes entendam a estrutura dos seus dados usando ferramentas como get_tables e get_schema.
Uma vez que seu modelo semântico esteja construído, você pode iniciar o servidor com um comando simples:
intugle-mcp
Isso permite que agentes de IA interajam programaticamente com o contexto dos seus dados. Isso também possibilita o "vibe coding" com a biblioteca.
Para instruções detalhadas sobre como configurar o servidor e conectar seu cliente favorito, consulte nossa documentação completa.
Comunidade
Junte-se à nossa comunidade para fazer perguntas, compartilhar seus projetos e conectar-se com outros usuários.
Contribuindo
Contribuições são bem-vindas! Consulte o arquivo CONTRIBUTING.md para orientações.
Licença
Este projeto está licenciado sob a Licença Apache, Versão 2.0. Consulte o arquivo LICENSE para detalhes.
Avisos de software de terceiros estão disponíveis no arquivo NOTICE.