Microservices
Graph Service (Port 8001)
Manages the FalkorDB property graph.
- POST /clear: Resets the entire graph.
- POST /variables: Creates a new variable node.
- POST /tools: Creates a new tool node.
- POST /connections/input: Connects a variable to a tool (input).
- POST /connections/output: Connects a tool to a variable (output).
- GET /schema: Returns the complete graph schema as a JSON object for translation.
Execution Service (Port 8002)
Runs the GEMSEO problem.
- POST /evaluate: Accepts input values and objective/constraint names to evaluate. Retrieves the graph schema (utilizing robust caching with TTL and backoff strategies), handles asynchronous execution via a pre-built
ProblemPoolof GEMSEO instances to avoid per-request rebuild overhead, offloads synchronous GEMSEO execution to worker threads, and returns the objective value. The service automatically detects schema changes and self-heals the problem pool.
Optimization Service (Port 8003)
Orchestrates the optimization process.
- POST /optimize: Accepts optimization parameters (ranges, choices, single/multi objectives, outcome constraints, steps). Uses
BayesianOptimizerwrapping Ax Platform to drive theRemoteEvaluatorconnected to the Execution Service.