kuswardhanietidims-svg opened a new pull request, #11997: URL: https://github.com/apache/seatunnel/pull/11997
This adds **OrcaRouter** as a first-class LLM provider in the SeaTunnel AI CLI, so users can point `AI_PROVIDER=orcarouter` and immediately generate production-ready SeaTunnel pipeline configs through the gateway — instead of treating it as an anonymous `OPENAI_BASE_URL` override. [OrcaRouter](https://www.orcarouter.ai) is an OpenAI-compatible AI gateway built for both models and agents. Like OpenRouter, it exposes a provider/model namespace across many models — but it also combines adaptive routing, automatic failover, zero-markup inference, observability, guardrails, and agent-tool governance behind the same endpoint. Adding `orcarouter` as a first-class provider means SeaTunnel users can use that stack directly, without treating OrcaRouter as a custom base URL. It also runs gateway-level, zero-trust security for AI agents on the same endpoint — screening every prompt/response and governing every tool call on a default-deny basis, with no application code changes. The provider mirrors the existing `openai` provider exactly: OrcaRouter speaks the OpenAI Chat Completions protocol, so `OrcaRouterProvider` subclasses `OpenAIProvider` and only overrides the base URL (`https://api.orcarouter.ai/v1`), the credential env var (`ORCAROUTER_API_KEY`), and the default model (`orcarouter/auto`, which auto-grades and auto-routes each request). Model IDs use the gateway's `provider/model` namespace (e.g. `deepseek/deepseek-v4-pro`, `openai/gpt-5.5-pro`). Changes: - `seatunnel-cli/seatunnel_cli/llm_provider.py` — `OrcaRouterProvider`, registered in `_PROVIDERS`, `_auto_detect_provider`, and the config-file model-override path. - `seatunnel-cli/seatunnel_cli/cli.py` — `orcarouter` added to `--provider` choices, the `--init` wizard, `/config`, and `/status`. - `seatunnel-cli/tests/test_llm_provider_orcarouter.py` (new) + `test_cli_provider_routing.py` — unit tests covering the provider, CLI routing, and config-file overrides. - Docs: `seatunnel-cli/README.md` / `README.zh-CN.md`, `env.example.sh`, `setup.sh`, `docs/en/ai-cli/*` and `docs/zh/ai-cli/*`. Verification: - `python3 -m pytest tests/` — 82 passed (was 76 before this PR). - L3 live test against the real endpoint (`AI_PROVIDER=orcarouter`): streaming chat, non-streaming chat, and the CLI's tool-calling loop (connector lookup) all returned 200/valid responses; a full single-shot generation produced a valid MySQL→S3 Parquet config through the multi-agent pipeline. Discord: discord.gg/YEubt8enRA · X: https://x.com/OrcaRouter I'm an engineer on the OrcaRouter team. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
