Local MLX Vision vs Text Brain: Separate Ports or Fake Eyes
·1 min read·ai
Share

Local MLX Vision vs Text Brain: Separate Ports or Fake Eyes

DAJAI Stewart

Why vision and text must not share a pretend endpoint—Apple Silicon MLX vision for captioning and compliance gates, structured JSON outputs, KeepAlive, memory pressure.

If your "vision model" is a text-only LLM on the same port, you do not have eyes. You have a chatbot with confidence.

Split the specialists

| Role | Surface | Job | |---|---|---| | Text brain | local reasoning port | decide, plan, score | | Vision | MLX vision port | caption, tag, age-gate style JSON | | Embeddings | small sidecar | search vectors only |

Text decides. Specialists sense.

Structured gates

Age-gate style checks should return JSON like:

{ "apparent_age_range": "25-34", "confidence": 0.91 }

Not a free-form essay. Downstream code needs fields, not vibes.

Ops lessons

  • launchd KeepAlive so a kill/OOM comes back without a human SSH ritual
  • Watch reclaimable free memory, not folklore about "unused RAM"
  • Vision-only endpoints should 400 on pure text chat that pretends to see an image that was never sent

Safety

Local vision is for compliance and tagging, not for bypassing the law. Never put underage content through any pipeline.

Related

Sovereign stack field notes

Local AI, multi-desk news, and infrastructure you actually own.

Related