RobotecAI / RobotecAI/rai

OrcaRouter as an optional model provider for RAI

Open
#874 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
589
Forks
76
Avg merge
1d 13h
Merged PRs (30d)
3

Description

Is your feature request related to a problem? Please describe.

RAI's vendor-agnostic design makes it a natural home for embodied-AI work on ROS 2. Your config.toml spells that out: a [vendor] selector with [openai], [ollama], [aws] and [google] blocks, each defining simple_model, complex_model and embeddings_model roles, and the docs note that even Ollama can be reached through an OpenAI-compatible endpoint. The orchard-tractor and natural-language Franka Panda demos show the payoff: a robot that reasons and acts through one coherent agent stack.

Robot teams in shared labs or on field fleets today choose between a single hosted provider and a self-hosted model server, with little in between. A hosted, OpenAI-compatible gateway would give those users a middle path, so I would like to propose adding OrcaRouter as an optional provider.

Describe the solution you'd like

I propose adding OrcaRouter as an optional model provider. It would not replace or change any existing provider: OpenAI, Bedrock, Google and Ollama would keep working as today. OrcaRouter exposes an OpenAI-compatible API and uses standard API-key authentication. Since RAI already supports OpenAI-compatible endpoints (the openai block can point at a local Ollama server via base_url) and builds on LangChain chat models, a natural integration point is exposing OrcaRouter as another selectable vendor in config.toml and the RAI Configurator's Model Selection, reusing that OpenAI-compatible path. This is a proposal only; nothing is implemented or tested.

For RAI users, three capabilities stand out:

  • Many chat, reasoning and image models through one endpoint, fitting RAI's simple/complex/embeddings model roles that already assume model variety.
  • Automatic model routing and provider failover, so a field robot keeps working if one upstream provider degrades, consistent with RAI's vendor-agnostic ethos.
  • Usage tracking and budgets, valuable for labs and companies running shared robot infrastructure.

OrcaRouter is already part of the open-source ecosystem, with integration examples including RAGFlow, Dify, DB-GPT and CAMEL, so the pattern is familiar to agent-framework maintainers.

Describe alternatives you've considered

RAI users can already pick OpenAI, Bedrock, Google or self-hosted Ollama. What is missing is a hosted gateway spanning many providers and models behind one API key, which OrcaRouter adds; building equivalent routing, failover and usage tooling in-house would be a lasting maintenance burden.

Additional context

I'm an engineer on the OrcaRouter team. OrcaRouter also runs an optional open-source partner program in which approved OSS projects can receive a 5% revenue share from OrcaRouter usage attributed to their integration. Participating is not a prerequisite for the integration, and I would follow RAI's disclosure and governance requirements. Existing integrations are listed at https://www.orcarouter.ai/built-with. I'd welcome the maintainers' views on whether this fits RAI's roadmap; if so, I'm happy to submit an implementation PR per the contribution guide.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with config.toml, the contribution guide, and the RAI Configurator's Model Selection implementation, then trace how existing OpenAI-compatible providers are configured. Done means OrcaRouter is an optional selectable provider with the stated model roles, while existing providers remain unchanged and the integration is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.