ai_nn_controller Documentation
Welcome to the documentation for ai_nn_controller — an open-source, AI-native network controller framework for building intelligent control applications across heterogeneous network domains.
Overview
ai_nn_controller is a domain-agnostic framework for building AI-powered control applications that manage network equipment across any domain — optical, wireless, RAN, core network, and more. Key features:
Declarative App Definition: Define control apps with simple Python decorators
Automatic API Generation: FastAPI REST endpoints auto-generated for each app
MCP Tool Generation: AI agents (like Claude) can control apps via auto-generated MCP tools
Plugin System: Reusable, installable plugins give control apps typed access to external services (storage, model registries, monitoring)
Distributed Architecture: Nodes, register, and message broker communicate via ZeroMQ
Dynamic Discovery: Nodes and apps only need to know the register address
Quick Example
from ai_nn_controller.decorators.aic_app import aic_app
from ai_nn_controller.AicApp import AicApp
from ai_nn_controller.AicController import AicController
@aic_app(name="MyControlApp")
class MyControlApp(AicApp):
aic_app_id = 1
control_loop_update_time = 2
read_measurements = {3: ["gain", "power"]}
control_functions = {3: ["SET_GAIN"]}
# cell_ids auto-generated: [3]
@classmethod
def process(cls, measurements):
gain = measurements.get(3, [{}])[-1].get("gain", 0)
if gain > 25:
cls.add_command(("SET_GAIN", {"node_id": 3, "value": {"target_gain": 20}}))
if __name__ == "__main__":
AicController(with_api=True).run()
Getting Started
Getting Started
User Guide
User Guide
- Architecture
- Developing Control Applications
- Application Structure
- Basic Template
- Template App Generator (First-Time Walkthrough)
- Configuration Attributes
- Processing Measurements
- Sending Commands
- Command Validators (Optional)
- Agent-Controlled Operations (Optional)
- Declaring Plugin Dependencies (Optional)
- State Variables
- Multiple Applications
- Auto-Generated Endpoints
- Auto-Generated MCP Tools
- Best Practices
- Example: Complete Application
- Next Steps
- Developing Network Nodes
- Developing Plugins
- Defining Commands
- Docker Deployment
API Reference
Examples
Contributing
Contributing