NVIDIA / NVIDIA/Personal-AI-Router

[Feature]: OrcaRouter as an optional OpenAI-compatible model source for PAIR

Aperta
#45 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Go
Stelle
1.4k
Fork
250
Merge medio
23h 27m
PR unite (30g)
1

Descrizione

User problem

PAIR turns several home computers into one place to send inference requests, aimed at concurrent local workloads such as multi-agent applications. Point an existing Ollama- or OpenAI-compatible tool at the local endpoint and PAIR routes each request to a node that holds the model and has capacity. Prompts and responses stay on the local network whenever every engine is local — the right default for a home router.

The flip side is that a model no local node holds has nowhere to go: when no owner is available, the proxy returns a local 502. For PAIR users who sometimes need a model their GPUs cannot serve, an optional OpenAI-compatible hosted source behind the same endpoint would add a genuinely useful choice without disturbing the all-local default.

Desired outcome

Add OrcaRouter as an optional model source a user can enable for their cluster. It would not replace or change any existing provider: local engines, discovery, pairing, and the default all-local routing stay exactly as they are. When enabled, requests for models no local node hosts would be served through the PAIR endpoint the user already uses.

OrcaRouter exposes an OpenAI-compatible API and uses standard API-key authentication. PAIR already terminates an OpenAI-compatible surface — the LM Studio proxy answers /v1/chat/completions and reads inventory via /v1/models. The natural integration point is a new model-source adapter behind that existing proxy layer, authenticated with a user-supplied API key. Nothing here is implemented; this issue is to gauge maintainer interest before any code.

The OrcaRouter capabilities most relevant to PAIR users:

  • Many chat and reasoning models through one endpoint and one API key, so a model no local node holds is no longer a dead end.
  • Automatic model routing and provider failover gateway-side, complementing PAIR's scheduler for requests a user explicitly sends off-box.
  • Gateway-side prompt caching, which matters once hosted tokens are metered.

OrcaRouter already integrates as an optional OpenAI-compatible provider in open-source projects such as Dify, RAGFlow, and goose.

Compatibility and security implications

Adding a hosted source extends where inference runs, which falls under CONTRIBUTING.md's rule that new model sources and APIs need maintainer alignment first — so I have not opened a pull request. It must be strictly opt-in, visible in settings, and never the default; requests sent to OrcaRouter leave the local network, and PAIR's rule that prompt text and response bodies are never logged would apply unchanged.

Alternatives considered

A user needing a bigger model can pull a quantized model onto a local node when it fits, but models no local GPU can run have no in-product route today.

Validation approach

Maintainer guidance on where the model-source abstraction belongs, then a scoped pull request behind the existing service-contract gates with unit and integration tests, plus documentation.

Disclosure

I'm an engineer on the OrcaRouter team. OrcaRouter also runs an optional open-source partner program: approved OSS projects can receive a 5% revenue share from OrcaRouter usage attributed to their integration. Participation is not a prerequisite for this discussion or any integration, and I will follow whatever disclosure or governance rules PAIR maintainers consider appropriate. More detail is at https://www.orcarouter.ai/built-with. If this direction is welcome, I am glad to refine the design here and submit an implementation PR once approved.

Confirmations

  • I searched existing issues for duplicates.
  • I agree to follow the Code of Conduct.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da CONTRIBUTING.md e dalla gestione esistente del proxy LM Studio per /v1/chat/completions e /v1/models. Conferma con i maintainer dove debba trovarsi l’astrazione dell’origine del modello, quindi definisci l’ambito dell’adattatore dietro i service-contract gates. Il lavoro è completo quando sono presenti impostazioni rigorosamente opt-in, routing locale invariato, autenticazione tramite API key, test unitari e di integrazione e documentazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go
Ambito
api, backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.