Extensions
Plugin Architecture API
Extend MoroAI with custom database connectors, proprietary loss objectives, and enterprise deployment engines.
Entry Points Specification
Plugins register themselves in their pyproject.toml under the moro.plugins namespace:
[project.entry-points."moro.plugins"] custom_loader = "my_moro_plugin.loaders:PostgresDataLoader" custom_target = "my_moro_plugin.deploy:KubeflowTarget"
Writing a Custom Data Loader
from moro.core.plugins import BaseDataLoader
class PostgresDataLoader(BaseDataLoader):
name = "postgres"
def load(self, connection_uri: str, query: str):
# Fetch rows and yield standard messages dictionary
yield {"messages": [{"role": "user", "content": "..."}]}