OpenAI-Compatible API
A RocketRide LLM node that connects any OpenAI-compatible API endpoint to a pipeline.
What it does
Connects any OpenAI-compatible API endpoint to your pipeline. Use this node for
providers that implement the OpenAI API spec (Featherless, Together, Groq, Ollama,
LM Studio, and others) but do not have a dedicated RocketRide node. Used primarily as an
llm invoke connection by agents and other nodes that need an LLM, but can also be used
directly via lanes.
Built on langchain-openai (ChatOpenAI) over the official openai SDK. The chat
client is created with temperature: 0 for deterministic output, and max_tokens is set
from the shared LLM base's output-token budget (default 4096, minimum 1024). When
base_url is empty, the SDK falls back to the default OpenAI endpoint.
When the node configuration is saved, it validates the settings by sending a 1-token "Hi"
completion request to the configured endpoint (10-second timeout) and surfaces any provider
error (bad key, unknown model, unreachable URL) as a warning with the provider's status code
and message, truncated to 500 characters.
Configuration
Lanes
| Lane in | Lane out | Description |
|---|---|---|
questions | answers | Send a question directly, receive a generated answer |
Fields
| Field | Type | Description |
|---|---|---|
model | string | Nebius Token Factory model id (e.g. meta-llama/Llama-3.3-70B-Instruct). Full list: https://tokenfactory.nebius.com/models |
base_url | string | OpenAI-compatible base URL. Defaults to Nebius Token Factory. |
modelTotalTokens | number | Total Tokens |
profile | string | Default "llama-3-3-70b". Nebius Token Factory model |
The generic node has a single custom profile: all four fields are specified directly.
Error handling & retries
Provider errors are mapped to friendly messages and classified for retry:
| Provider exception | Retried | Surfaced as |
|---|---|---|
AuthenticationError | no | Invalid API key. |
APIError | no | An error occurred with the API. |
RateLimitError | yes | Rate limit exceeded. Please try again later. |
APIConnectionError | yes | Failed to connect to the API. |
Anything else falls through to the shared LLM base's default retry and mapping logic.
Nebius preset
services.nebius.json registers Nebius (llm_nebius://) as a branded preset of this
node: it reuses the same Python implementation (nodes.llm_openai_api) with the base URL
pinned to Nebius Token Factory (https://api.tokenfactory.nebius.com/v1/).
| Profile | Model | Total tokens |
|---|---|---|
llama-3-3-70b (default) | meta-llama/Llama-3.3-70B-Instruct | 131072 |
qwen3-235b | Qwen/Qwen3-235B-A22B | 131072 |
deepseek-v3 | deepseek-ai/DeepSeek-V3 | 131072 |
custom | any Nebius Token Factory model id | 131072 |
All Nebius profiles default the API key to the ${ROCKETRIDE_NEBIUS_KEY} environment
substitution, so no per-node key entry is needed when that variable is set.
Testing
services.json includes a test block that runs the custom profile against a local
test server with a mocked langchain_openai, so no real API key is required.
ROCKETRIDE_MOCK must point to nodes/test/mocks.
Schema
OpenAI-Compatible API (services.json)
| Field | Type | Description | Default |
|---|---|---|---|
base_url | string | Base URL API base URL (e.g. https://api.featherless.ai/v1) | |
model | string | Model Model name (e.g. zai-org/GLM-5, meta-llama/Llama-3-70b) | |
modelTotalTokens | number | Tokens Total Tokens | |
openai_api.profile | string | Model Profile selection | "custom" |
Nebius (services.nebius.json)
| Field | Type | Description | Default |
|---|---|---|---|
base_url | string | Base URL OpenAI-compatible base URL. Defaults to Nebius Token Factory. | |
model | string | Model Nebius Token Factory model id (e.g. meta-llama/Llama-3.3-70B-Instruct). Full list: https://tokenfactory.nebius.com/models | |
modelTotalTokens | number | Tokens Total Tokens | |
openai_api.profile | string | Model Nebius Token Factory model | "llama-3-3-70b" |
Dependencies
openailangchain-openailangchain-corelangchain