Intugle MCP
chính thứcTạo mô hình ngữ nghĩa tự động bằng các tác nhân kỹ thuật dữ liệu và xây dựng sản phẩm dữ liệu theo yêu cầu
Bạn có thể làm gì với Intugle MCP?
- Hồ sơ và phân loại nguồn dữ liệu của bạn — Phân tích CSV, Parquet, Excel hoặc bảng cơ sở dữ liệu để hiểu cấu trúc, kiểu dữ liệu và đặc điểm thông qua
SemanticModel.build(). - Khám phá liên kết và mối quan hệ giữa các bảng — Tự động xác định khóa chính/khóa ngoại và các mối quan hệ phức hợp giữa các tập dữ liệu phân mảnh.
- Tạo từ điển nghiệp vụ — Tạo các thuật ngữ thân thiện với nghiệp vụ cho các cột và bảng dữ liệu của bạn, hỗ trợ truy vấn ngôn ngữ tự nhiên.
- Tìm kiếm dữ liệu của bạn theo ngữ nghĩa — Tìm các cột phù hợp bằng ngôn ngữ tự nhiên (ví dụ: "lý do nhập viện") với
SemanticModel.search(). - Xây dựng sản phẩm dữ liệu thống nhất — Xác định các trường trên nhiều bảng và để
DataProduct.build()tự động tạo SQL với các phép nối và tổng hợp cần thiết. - Mở lớp ngữ nghĩa của bạn cho trợ lý AI — Khởi động máy chủ MCP tích hợp sẵn với
intugle-mcpđể các tác nhân có thể khám phá cấu trúc dữ liệu của bạn quaget_tablesvàget_schema.
Tài liệu
Bộ công cụ hỗ trợ GenAI cho trí tuệ dữ liệu tự động.
Biến đổi Dữ liệu Phân mảnh thành Mô hình Dữ liệu Ngữ nghĩa Kết nối
Tổng quan
Thư viện Python mã nguồn mở hỗ trợ GenAI của Intugle xây dựng một mô hình dữ liệu ngữ nghĩa trên các hệ thống dữ liệu hiện có của bạn. Về cốt lõi, nó khám phá các liên kết và mối quan hệ có ý nghĩa trên các tài sản dữ liệu — làm giàu chúng bằng hồ sơ, phân loại và từ điển thuật ngữ nghiệp vụ. Với lớp tri thức kết nối này, bạn có thể kích hoạt tìm kiếm ngữ nghĩa và tự động tạo truy vấn để tạo ra các sản phẩm dữ liệu thống nhất, giúp việc tích hợp và khám phá dữ liệu nhanh hơn, chính xác hơn và ít thủ công hơn nhiều.
Dành cho ai?
- Kỹ sư & Kiến trúc sư Dữ liệu thường mất hàng tuần để lập hồ sơ, phân loại và kết nối các tài sản dữ liệu phân mảnh một cách thủ công. Với Intugle, họ có thể tự động hóa quy trình này từ đầu đến cuối, khám phá các liên kết và mối quan hệ có ý nghĩa để tạo ra ngay một lớp ngữ nghĩa kết nối.
- Nhà phân tích & Nhà khoa học Dữ liệu dành vô số giờ cho việc chuẩn bị và sẵn sàng dữ liệu trước khi có thể bắt đầu phân tích thực sự. Intugle tăng tốc quá trình này bằng cách cung cấp trí tuệ ngữ cảnh, tự động tạo SQL và các sản phẩm dữ liệu có thể tái sử dụng được làm giàu với các mối quan hệ và ý nghĩa nghiệp vụ.
- Nhà phân tích Nghiệp vụ & Người ra Quyết định bị chậm lại do phụ thuộc liên tục vào các nhóm kỹ thuật để có câu trả lời. Intugle loại bỏ nút thắt này bằng cách cho phép truy vấn ngôn ngữ tự nhiên và tìm kiếm ngữ nghĩa, cung cấp cho họ thông tin chi tiết đáng tin cậy theo yêu cầu.
Tính năng
- Mô hình Dữ liệu Ngữ nghĩa - Biến đổi các tập dữ liệu thô, phân mảnh thành một đồ thị ngữ nghĩa thông minh nắm bắt các thực thể, mối quan hệ và ngữ cảnh — nền tảng cho trí tuệ kết nối.
- Từ điển Thuật ngữ Nghiệp vụ & Tìm kiếm Ngữ nghĩa: Tự động tạo từ điển thuật ngữ nghiệp vụ và cho phép tìm kiếm hiểu ý nghĩa, không chỉ từ khóa — giúp dữ liệu dễ tiếp cận hơn đối với cả người dùng kỹ thuật và nghiệp vụ.
- Sản phẩm Dữ liệu - Tạo ngay SQL và các sản phẩm dữ liệu có thể tái sử dụng được làm giàu ngữ cảnh, loại bỏ các pipeline thủ công và tăng tốc quá trình từ dữ liệu đến thông tin chi tiết.
- Tìm kiếm Khái niệm - Tạo kế hoạch sản phẩm dữ liệu từ các truy vấn ngôn ngữ tự nhiên, thu hẹp khoảng cách giữa câu hỏi nghiệp vụ và định nghĩa sản phẩm dữ liệu có thể thực thi. Tìm hiểu thêm trong tài liệu.
Tích hợp được Hỗ trợ
| Danh mục | Tích hợp |
|---|---|
| Kho Dữ liệu | Snowflake, Databricks |
| Cơ sở dữ liệu | SQLite, PostgreSQL, SQL Server, MySQL |
| Cục bộ | Pandas, DuckDB (CSV, Parquet, Excel) |
Ứng dụng Streamlit
Thư viện intugle bao gồm một ứng dụng Streamlit cung cấp giao diện web tương tác để xây dựng và trực quan hóa các mô hình dữ liệu ngữ nghĩa.
https://github.com/user-attachments/assets/402c3f3d-baf3-4ece-ba55-4e06437defc5
Để sử dụng ứng dụng Streamlit, cài đặt intugle với phần bổ trợ streamlit:
pip install intugle[streamlit]
Bạn có thể khởi chạy ứng dụng Streamlit bằng lệnh intugle-mcp hoặc uvx:
intugle-streamlit
# Or using uvx
uvx --from intugle[streamlit] intugle-streamlit
Mở URL được cung cấp trong terminal của bạn (thường là http://localhost:8501) để truy cập ứng dụng. Để biết thêm chi tiết, hãy tham khảo tài liệu Ứng dụng Streamlit.
Để chạy ứng dụng trong môi trường đám mây như Google Colab, vui lòng tham khảo sổ tay khởi động nhanh Streamlit của chúng tôi.
Bắt đầu
Cài đặt
Đối với Windows và Linux, bạn có thể làm theo các bước sau. Đối với macOS, vui lòng xem các bước bổ sung trong phần macOS bên dưới.
Trước khi cài đặt, bạn nên tạo một môi trường ảo:
python -m venv .venv
source .venv/bin/activate
Sau đó, cài đặt gói:
pip install intugle
macOS
Đối với người dùng macOS, bạn có thể cần cài đặt thư viện libomp:
brew install libomp
Nếu bạn đã cài đặt Python bằng trình cài đặt chính thức từ python.org, bạn cũng có thể cần cài đặt chứng chỉ SSL bằng cách chạy lệnh sau trong terminal của mình. Vui lòng thay thế 3.XX bằng phiên bản Python cụ thể của bạn. Bước này không cần thiết nếu bạn đã cài đặt Python bằng Homebrew.
/Applications/Python\ 3.XX/Install\ Certificates.command
Cấu hình
Trước khi chạy dự án, bạn cần cấu hình một LLM. Điều này được sử dụng cho các tác vụ như tạo từ điển thuật ngữ nghiệp vụ và dự đoán liên kết giữa các bảng.
Bạn có thể cấu hình LLM bằng cách đặt các biến môi trường sau:
LLM_PROVIDER: Nhà cung cấp và mô hình LLM sẽ sử dụng (ví dụ:openai:gpt-3.5-turbo) tuân theo quy ước của LangChainAPI_KEY: Khóa API của bạn cho nhà cung cấp LLM. Tên chính xác của biến có thể khác nhau tùy theo nhà cung cấp.
Dưới đây là ví dụ về cách đặt các biến này trong môi trường của bạn:
export LLM_PROVIDER="openai:gpt-3.5-turbo"
export OPENAI_API_KEY="your-openai-api-key"
Khởi động nhanh
Để có phần giới thiệu chi tiết, thực hành về dự án, vui lòng xem sổ tay khởi động nhanh của chúng tôi:
| Lĩnh vực | Sổ tay | Mở trong Colab |
|---|---|---|
| Chăm sóc sức khỏe | quickstart_healthcare.ipynb | |
| Sản xuất Công nghệ | quickstart_tech_manufacturing.ipynb | |
| FMCG | quickstart_fmcg.ipynb | |
| Truyền thông Thể thao | quickstart_sports_media.ipynb | |
| Databricks Unity Catalog [Chăm sóc Sức khỏe] | quickstart_healthcare_databricks.ipynb | Chỉ dành cho Databricks Notebook |
| Snowflake Horizon Catalog [ FMCG ] | quickstart_fmcg_snowflake.ipynb | Chỉ dành cho Snowflake Notebook |
| Native Snowflake với Cortex Analyst [ Sản xuất Công nghệ ] | quickstart_native_snowflake.ipynb | |
| Native Databricks với AI/BI Genie [ Sản xuất Công nghệ ] | quickstart_native_databricks.ipynb | |
| Ứng dụng Streamlit | quickstart_streamlit.ipynb | |
| Tìm kiếm Khái niệm | quickstart_conceptual_search.ipynb | |
| Dự đoán Mối quan hệ Tổ hợp | quickstart_basketball_composite_links.ipynb |
Các tập dữ liệu này sẽ hướng dẫn bạn qua các bước sau:
- Tạo Mô hình Ngữ nghĩa → Lớp thống nhất biến đổi các tập dữ liệu phân mảnh, tạo nền tảng cho trí tuệ kết nối.
- 1.1 Lập hồ sơ và phân loại dữ liệu → Phân tích các nguồn dữ liệu của bạn để hiểu cấu trúc, kiểu dữ liệu và các đặc điểm khác của chúng.
- 1.2 Khám phá liên kết & mối quan hệ giữa các dữ liệu → Tiết lộ các kết nối có ý nghĩa (PK & FK), bao gồm khóa tổ hợp, trên các bảng phân mảnh.
- 1.3 Tạo từ điển thuật ngữ nghiệp vụ → Tạo các thuật ngữ thân thiện với nghiệp vụ và sử dụng chúng để truy vấn dữ liệu có ngữ cảnh.
- 1.4 Kích hoạt tìm kiếm ngữ nghĩa → Tìm kiếm thông minh hiểu ý nghĩa, không chỉ từ khóa—giúp dữ liệu dễ tiếp cận hơn đối với cả người dùng kỹ thuật và nghiệp vụ.
- 1.5 Trực quan hóa mô hình ngữ nghĩa→ Truy cập siêu dữ liệu phong phú của lớp ngữ nghĩa dưới dạng tệp YAML và trực quan hóa dưới dạng đồ thị
- Xây dựng Sản phẩm Dữ liệu Thống nhất → Chỉ cần chọn các thuộc tính trên các bảng dữ liệu của bạn và để bộ công cụ tự động tạo truy vấn với tất cả các phép nối, biến đổi và tổng hợp cần thiết bằng cách sử dụng lớp ngữ nghĩa. Khi được thực thi, các truy vấn này tạo ra các sản phẩm dữ liệu có thể tái sử dụng.
Tài liệu
Để biết thông tin chi tiết hơn, cách sử dụng nâng cao và hướng dẫn, vui lòng tham khảo trang tài liệu đầy đủ của chúng tôi.
Cách sử dụng
Quy trình làm việc cốt lõi của dự án liên quan đến việc sử dụng SemanticModel để xây dựng một lớp ngữ nghĩa, sau đó sử dụng DataProduct để tạo ra các sản phẩm dữ liệu từ lớp đó.
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)
Để có các ví dụ mã chi tiết và hướng dẫn đầy đủ, vui lòng xem sổ tay khởi động nhanh của chúng tôi.
Sản phẩm Dữ liệu
Khi mô hình ngữ nghĩa được xây dựng, bạn có thể sử dụng lớp DataProduct để tạo ra các sản phẩm dữ liệu thống nhất từ lớp ngữ nghĩa.
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())
Tìm kiếm Ngữ nghĩa
Tính năng tìm kiếm ngữ nghĩa cho phép bạn tìm kiếm các cột trong tập dữ liệu của mình bằng ngôn ngữ tự nhiên. Nó được xây dựng dựa trên cơ sở dữ liệu vector Qdrant.
Để có hướng dẫn thiết lập đầy đủ (bao gồm các lệnh Docker và biến môi trường), vui lòng tham khảo Tài liệu Tìm kiếm Ngữ nghĩa.
Cách sử dụng
Khi bạn đã xây dựng mô hình ngữ nghĩa, bạn có thể sử dụng phương thức search để thực hiện tìm kiếm ngữ nghĩa. Hàm tìm kiếm trả về một DataFrame pandas chứa kết quả tìm kiếm, bao gồm các chỉ số lập hồ sơ của cột, danh mục, tên bảng và từ điển thuật ngữ bảng.
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)
Để có các ví dụ mã chi tiết và hướng dẫn đầy đủ, vui lòng xem sổ tay khởi động nhanh của chúng tôi.
Máy chủ MCP
Intugle bao gồm một máy chủ MCP (Model Context Protocol) tích hợp sẵn, hiển thị lớp ngữ nghĩa của bạn cho các trợ lý AI và các máy khách hỗ trợ LLM. Mục đích chính của nó là cho phép các tác nhân hiểu cấu trúc dữ liệu của bạn bằng cách sử dụng các công cụ như get_tables và get_schema.
Khi mô hình ngữ nghĩa của bạn được xây dựng, bạn có thể khởi động máy chủ bằng một lệnh đơn giản:
intugle-mcp
Điều này cho phép các tác nhân AI tương tác theo chương trình với ngữ cảnh dữ liệu của bạn. Điều này cũng cho phép vibe coding với thư viện
Để có hướng dẫn chi tiết về cách thiết lập máy chủ và kết nối máy khách yêu thích của bạn, vui lòng xem tài liệu đầy đủ của chúng tôi.
Cộng đồng
Tham gia cộng đồng của chúng tôi để đặt câu hỏi, chia sẻ dự án của bạn và kết nối với những người dùng khác.
Đóng góp
Rất hoan nghênh các đóng góp! Vui lòng xem tệp CONTRIBUTING.md để biết hướng dẫn.
Giấy phép
Dự án này được cấp phép theo Giấy phép Apache, Phiên bản 2.0. Xem tệp LICENSE để biết chi tiết.
Thông báo về phần mềm của bên thứ ba có sẵn trong tệp NOTICE.