Instructions to use Subject-Emu-5259/NeuralAI with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Subject-Emu-5259/NeuralAI with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
NeuralAI Service Architecture
Podman Quadlet → Zo Service Mapping
| Podman Concept | Zo Equivalent | NeuralAI Implementation |
|---|---|---|
.container files |
register_user_service() |
3 registered services |
systemd Requires= |
Service startup order | model→webui dependency |
systemd After= |
Service health checks | tools→webui dependency |
| NFS volumes | /home/workspace/NeuralAI/ |
Built-in persistent storage |
Restart=always |
Zo supervisor | Auto-restart on crash |
.network files |
localhost networking |
Services talk via HTTP |
Service Definitions (like Quadlets)
neuralai-model.service (port 7001)
# Equivalent to: neuralai-model.container
[Service]
Entrypoint=python3 /home/workspace/Projects/NeuralAI/services/model_service.py
Port=7001
Restart=always
Environment=MODEL_PATH=/home/workspace/Projects/NeuralAI/checkpoints/v2_model
[Unit]
Description=NeuralAI Model Inference Service
# Model must be ready before webui
Before=neuralai-webui.service
neuralai-tools.service (port 7002)
# Equivalent to: neuralai-tools.container
[Service]
Entrypoint=python3 /home/workspace/Projects/NeuralAI/services/tools_service.py
Port=7002
Restart=always
Volume=/home/workspace/NeuralAI:/data:rw
[Unit]
Description=NeuralAI Tools Service (sandbox, storage)
# Tools must be ready before webui
Before=neuralai-webui.service
neuralai-webui.service (port 5000)
# Equivalent to: neuralai-webui.container
[Service]
Entrypoint=python3 /home/workspace/Projects/NeuralAI/services/webui_service.py
Port=5000
Public=true
Restart=always
[Unit]
Description=NeuralAI Web Interface
Requires=neuralai-model.service
Requires=neuralai-tools.service
After=neuralai-model.service
After=neuralai-tools.service
Dependency Graph
┌─────────────────┐
│ neuralai-model │ :7001
│ (inference) │
└────────┬────────┘
│
│ Requires
▼
┌─────────────────┐ ┌─────────────────┐
│ neuralai-tools │───▶│ neuralai-webui │ :5000 (public)
│ (sandbox) │ │ (router) │
└─────────────────┘ └─────────────────┘
:7002 │
│
Public URL:
https://neuralai-webui-deandrewharris.zocomputer.io
Storage (like NFS volume)
/home/workspace/NeuralAI/
├── images/ # Generated images (shared)
├── documents/ # User documents for RAG (shared)
├── conversations/ # Chat history (shared)
├── models/ # Model checkpoints (shared)
└── cache/ # Temporary files (shared)
All services mount /home/workspace/NeuralAI/ - like an NFS volume shared across containers.
Management Commands
Like systemctl for Podman:
# Check status
systemctl --user status neuralai-*.service
# In Zo:
service_doctor("neuralai-model")
# Restart a service
systemctl --user restart neuralai-model.service
# In Zo:
update_user_service(service_id)
# View logs
journalctl --user -u neuralai-model.service
# In Zo:
cat /dev/shm/neuralai-model.log
Start/Stop All:
# Podman quadlet style
./services/start_all.sh # Starts in dependency order
./services/stop_all.sh # Stops in reverse order
./services/status.sh # Shows all service states
Restart Behavior
| Failure Scenario | What Happens |
|---|---|
| Model OOM crash | Only model service restarts, webui stays up |
| Tools timeout | Only tools service restarts |
| WebUI crash | Only webui restarts, model stays loaded |
| Model unhealthy | Webui returns 503, auto-recovery in progress |
Benefits (Same as Your Podman Setup)
- Isolation: Each service in its own process
- Independence: Failures don't cascade
- Dependencies: Proper startup ordering
- Shared storage: All services access same
/NeuralAI/ - Declarative: Service configs are simple Python files
- Auto-restart: Supervisor handles recovery
- Observability: Separate logs per service
Current Status
✅ neuralai-model (7001) - Ready, model loaded
✅ neuralai-tools (7002) - Ready, sandbox active
✅ neuralai-webui (5000) - Ready, public URL live