Opal Router β€” one endpoint, the best US model per task

The Opal Router is the capability half of the Opal suite. Different model architectures (Llama / gpt-oss / Phi / Gemma) cannot be weight-merged. So instead of faking a single super-model, Opal combines them honestly, at the system level: one OpenAI-compatible endpoint that classifies each request and routes it to the US specialist best suited to it.

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Opal Router (:11500, model="opal") ────────────────┐
  your request ───► β”‚  classify β†’  code/sec ─► opal-8b        (Cognis merge)             β”‚
                    β”‚              reasoning ─► gpt-oss:20b    (OpenAI open MoE)          β”‚
                    β”‚              tool-call ─► llama3.1:8b    (Meta)                     β”‚
                    β”‚              general   ─► phi4           (Microsoft)               β”‚
                    β”‚              vision    ─► llava                                    β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Honest framing: this is orchestration, not one weight. We don't claim a single model does all of this β€” we route to the model that actually does.
  • Real MoE included: hard-reasoning requests go to gpt-oss:20b, OpenAI's genuine open Mixture-of-Experts.
  • All US-origin backends, all pullable from the Ollama registry.
  • Native tool-calling passthrough: requests carrying a tools=[…] array are routed to the tool-calling specialist and the tool calls flow straight back.
  • Zero dependencies (Python stdlib only). No training. Runs over local Ollama.

Run

# 1. pull the backends (all US-origin)
ollama pull llama3.1:8b && ollama pull gpt-oss:20b && ollama pull phi4 && ollama pull llava
#    plus the Opal-8B weight (see the Opal-8B-GGUF repo) imported as `opal-8b`
# 2. start the router
python opal_router.py            # serves http://localhost:11500/v1
# 3. point any OpenAI client at it
curl http://localhost:11500/v1/chat/completions -H "Content-Type: application/json" \
  -d '{"model":"opal","messages":[{"role":"user","content":"Prove sqrt(2) is irrational"}]}'
#    -> classified as reasoning -> served by gpt-oss:20b

Env: OLLAMA=http://localhost:11434, PORT=11500. Routing table: configs/routes.json (edit to change backends; a model missing from ollama list falls back to default).

Files

  • opal_router.py β€” the stdlib router/server
  • configs/routes.json β€” capability β†’ model map + backend provenance

License

Apache-2.0.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support