feat: enable blockchain, multi-modal RL, and edge GPU routers
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled

- Enable blockchain router (uncommented in main.py)
- Create multi_modal_rl.py router with placeholder endpoints
- Create edge_gpu.py router with placeholder endpoints
- Remove warning messages for missing optional routers
This commit is contained in:
aitbc
2026-05-03 22:24:50 +02:00
parent d7da8ba880
commit bf560e9ac8
3 changed files with 113 additions and 5 deletions

View File

@@ -350,11 +350,7 @@ def create_app() -> FastAPI:
app.include_router(marketplace_offers, prefix="/v1")
# Add blockchain router for CLI compatibility
# print(f"Adding blockchain router: {blockchain}")
# app.include_router(blockchain, prefix="/v1")
# BLOCKCHAIN ROUTER DISABLED - preventing monitoring calls
# Blockchain router disabled - preventing monitoring calls
print("Blockchain router disabled")
app.include_router(blockchain, prefix="/v1")
# Add Prometheus metrics endpoint
metrics_app = make_asgi_app()

View File

@@ -0,0 +1,67 @@
"""
Edge GPU Router
Handles edge GPU management endpoints
"""
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from typing import Any
router = APIRouter(prefix="/edge-gpu", tags=["edge-gpu"])
class GPUProfile(BaseModel):
"""GPU profile model"""
gpu_model: str
architecture: str
memory_gb: int
edge_optimized: bool
class GPUMetrics(BaseModel):
"""GPU metrics model"""
gpu_id: str
timestamp: str
utilization: float
memory_used: float
temperature: float
@router.get("/profiles")
async def list_profiles() -> dict:
"""List available edge GPU profiles"""
return {"profiles": []}
@router.get("/metrics/{gpu_id}")
async def get_gpu_metrics(gpu_id: str) -> dict:
"""Get metrics for a specific GPU"""
return {"gpu_id": gpu_id, "metrics": []}
@router.post("/metrics")
async def submit_metrics(metrics: GPUMetrics) -> dict:
"""Submit GPU metrics"""
return {"status": "success", "gpu_id": metrics.gpu_id}
@router.post("/discover")
async def discover_edge_gpus(miner_id: str) -> dict[str, Any]:
"""Discover and register edge GPUs for a miner"""
return {
"miner_id": miner_id,
"gpus": [],
"registered": 0,
"edge_optimized": 0,
}
@router.post("/optimize")
async def optimize_inference(gpu_id: str, model_name: str, request_data: dict) -> dict[str, Any]:
"""Optimize ML inference request for edge GPU"""
return {
"gpu_id": gpu_id,
"model_name": model_name,
"optimized": True,
"latency_reduction": 0.0,
}

View File

@@ -0,0 +1,45 @@
"""
Multi-modal RL Router
Handles multi-modal reinforcement learning endpoints
"""
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
router = APIRouter(prefix="/multi-modal-rl", tags=["multi-modal-rl"])
class RLRequest(BaseModel):
"""RL request model"""
model_id: str
input_data: dict
class RLResponse(BaseModel):
"""RL response model"""
status: str
result: dict
@router.post("/train")
async def train_model(request: RLRequest) -> RLResponse:
"""Train multi-modal RL model"""
return RLResponse(
status="success",
result={"message": "Multi-modal RL training endpoint - placeholder"}
)
@router.post("/inference")
async def run_inference(request: RLRequest) -> RLResponse:
"""Run inference on multi-modal RL model"""
return RLResponse(
status="success",
result={"message": "Multi-modal RL inference endpoint - placeholder"}
)
@router.get("/models")
async def list_models() -> dict:
"""List available multi-modal RL models"""
return {"models": []}