Когда речь идёт об искусственном интеллекте, важно не просто обучить модель, но и дать ей возможность легко и осмысленно взаимодействовать с данными. Именно эту задачу решает новый Python-фреймворк EnrichMCP, созданный компанией Featureform. Эта библиотека претендует на роль ORM нового поколения, ориентированного специально на AI-агентов, и предлагает семантический слой для глубокого понимания данных.
🧩 Что именно делает EnrichMCP?
Представьте, что вы можете объяснить своему AI-агенту данные так, как вы объяснили бы это новому коллеге. EnrichMCP берёт существующую модель данных и превращает её в понятные, типизированные и автоматически обнаруживаемые инструменты для AI. Это как SQLAlchemy, только специально для искусственного интеллекта.
🛠️ Как это работает изнутри?
На техническом уровне EnrichMCP опирается на три основных компонента:
- 📚 Семантический слой (Semantic Layer)
Фреймворк автоматически создаёт описания сущностей, отношений и полей данных в формате, понятном агентам AI. - 🔗 Типизированные модели и проверки данных (Data Layer)
В основе лежат Pydantic-модели, обеспечивающие строгую валидацию входных и выходных данных. Это позволяет избежать ошибок и сделать взаимодействие с данными надёжным. - 🛡️ Слой управления и бизнес-логики (Control Layer)
Поддерживает авторизацию, пагинацию, проверку разрешений и даже сложную логику вычисляемых полей, таких как машинное обучение или аналитические метрики.
🌐 Поддержка различных источников данных
Одна из сильных сторон EnrichMCP — универсальность. Вы можете использовать его с:
- 🗃️ Базами данных (например, PostgreSQL, SQLite).
- 🌍 Внешними REST API.
- 🧑💻 Пользовательской логикой и кастомными ресурсами.
Привязка к источникам данных осуществляется через простые и интуитивно понятные декларативные модели и асинхронные функции-ресурсы.
🚀 Как быстро начать?
Рассмотрим быстрый пример интеграции с SQLAlchemy (занимает меньше минуты):
from enrichmcp import EnrichMCP
from enrichmcp.sqlalchemy import include_sqlalchemy_models, sqlalchemy_lifespan, EnrichSQLAlchemyMixin
from sqlalchemy.ext.asyncio import create_async_engine
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
engine = create_async_engine("postgresql+asyncpg://user:pass@localhost/db")
class Base(DeclarativeBase, EnrichSQLAlchemyMixin):
pass
class User(Base):
__tablename__ = "users"
id: Mapped[int] = mapped_column(primary_key=True)
email: Mapped[str] = mapped_column(unique=True)
app = EnrichMCP(
"Пользовательские данные",
lifespan=sqlalchemy_lifespan(Base, engine),
)
include_sqlalchemy_models(app, Base)
if __name__ == "__main__":
app.run()
Теперь ваш AI-агент сразу получит доступ к функциям:
- 🔍 explore_data_model() — исследование структуры данных.
- 📑 list_users() — выборка пользователей с фильтрацией.
- 🎯 get_user() — получение конкретной записи.
🛣️ Более глубокое использование: кастомная логика и ML-поля
EnrichMCP не ограничивается базовым функционалом. Например, вы можете интегрировать машинное обучение прямо в модель данных:
@app.entity
class User(EnrichModel):
id: int
churn_risk: float = Field(description="Вероятность оттока пользователя")
@User.churn_risk.resolver
async def predict_churn(user_id: int, context: EnrichContext) -> float:
features = await gather_user_features(user_id)
model = context.get("ml_models")["churn_predictor"]
return float(model.predict_proba(features)[0][1])
Этим вы превращаете ваши данные в живые аналитические объекты, напрямую связанные с моделью AI.
💬 Личное мнение автора: зачем это нужно?
Фреймворк EnrichMCP не просто облегчает интеграцию данных с AI, он буквально меняет способ, которым агенты «думают» о данных. На мой взгляд, это особенно ценно, потому что даёт возможность автоматизировать не просто технические задачи, а бизнес-логику и сложные процессы принятия решений.
Также я вижу огромный потенциал этого подхода в следующих случаях:
- 🛍️ Персонализация в e-commerce — автоматическое сегментирование и прогнозирование поведения покупателей.
- 📈 Автоматизированная аналитика и BI — доступ к сложным аналитическим расчётам непосредственно через AI-агентов.
- 🧑⚖️ Комплаенс и управление рисками — интеграция правил и политики безопасности прямо в модель данных.
🎯 Что ещё можно улучшить?
В будущем EnrichMCP мог бы значительно расширить возможности интеграции с платформами облачной инфраструктуры и реализовать интеграцию с популярными платформами типа FastAPI или Django, что позволит ещё быстрее встраивать интеллектуальные инструменты в существующие продукты.
📌 Заключение
EnrichMCP — это не просто очередной Python-фреймворк, это настоящая попытка перевести взаимодействие AI с данными на принципиально новый уровень. Использование этого фреймворка может кардинально изменить процесс разработки приложений, сделав его более понятным, надёжным и эффективным.
🔗 Полезные ссылки по теме: