Skip to main content
View source

OpenAI-Compatible API

View as Markdown

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 inLane outDescription
questionsanswersSend a question directly, receive a generated answer

Fields

FieldTypeDescription
modelstringNebius Token Factory model id (e.g. meta-llama/Llama-3.3-70B-Instruct). Full list: https://tokenfactory.nebius.com/models
base_urlstringOpenAI-compatible base URL. Defaults to Nebius Token Factory.
modelTotalTokensnumberTotal Tokens
profilestringDefault "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 exceptionRetriedSurfaced as
AuthenticationErrornoInvalid API key.
APIErrornoAn error occurred with the API.
RateLimitErroryesRate limit exceeded. Please try again later.
APIConnectionErroryesFailed 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/).

ProfileModelTotal tokens
llama-3-3-70b (default)meta-llama/Llama-3.3-70B-Instruct131072
qwen3-235bQwen/Qwen3-235B-A22B131072
deepseek-v3deepseek-ai/DeepSeek-V3131072
customany Nebius Token Factory model id131072

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)

FieldTypeDescriptionDefault
base_urlstringBase URL
API base URL (e.g. https://api.featherless.ai/v1)
modelstringModel
Model name (e.g. zai-org/GLM-5, meta-llama/Llama-3-70b)
modelTotalTokensnumberTokens
Total Tokens
openai_api.profilestringModel
Profile selection
"custom"

Nebius (services.nebius.json)

FieldTypeDescriptionDefault
base_urlstringBase URL
OpenAI-compatible base URL. Defaults to Nebius Token Factory.
modelstringModel
Nebius Token Factory model id (e.g. meta-llama/Llama-3.3-70B-Instruct). Full list: https://tokenfactory.nebius.com/models
modelTotalTokensnumberTokens
Total Tokens
openai_api.profilestringModel
Nebius Token Factory model
"llama-3-3-70b"

Dependencies

  • openai
  • langchain-openai
  • langchain-core
  • langchain