Šis puslapis dar neišverstas, todėl rodomas angliškai.
Migrating from OpenAI
ORYVOX speaks the OpenAI API, so migration is usually two environment variables.
1. Point your SDK at ORYVOX
export OPENAI_BASE_URL=https://api.oryvox.ai/v1
export OPENAI_API_KEY=ory_live_...Or in code:
import OpenAI from 'openai';
const openai = new OpenAI({ baseURL: 'https://api.oryvox.ai/v1', apiKey: process.env.ORYVOX_API_KEY });from openai import OpenAI
client = OpenAI(base_url="https://api.oryvox.ai/v1", api_key=os.environ["ORYVOX_API_KEY"])2. Choose models
Keep using concrete ids with a provider prefix (openai/gpt-5-mini), or switch to a
routing profile to let ORYVOX pick per request:
| Before | After |
|---|---|
gpt-5-mini | openai/gpt-5-mini (pinned) or oryvox-fast (routed) |
gpt-5 | openai/gpt-5 or oryvox-quality |
Use the full provider/model id; GET /models lists every id.
3. Use ORYVOX extensions (optional)
With the OpenAI Python SDK, send extensions via extra_body:
client.chat.completions.create(
model="oryvox-auto",
messages=messages,
extra_body={"routing": {"mode": "economy"}, "max_cost": 0.01, "optimization": {"mode": "balanced"}},
)In the OpenAI Node SDK, add the fields to the params object (cast if TypeScript complains).
Or switch to the ORYVOX SDKs for typed extensions, the oryvox metadata, request-log access
and webhook helpers (SDKs).
What is the same
/chat/completions (including streaming, tools, response_format), /embeddings, /models,
error JSON shape, bearer auth.
What is different
- Responses include an
oryvoxobject (request id, selected model, cost, savings, cache). - Streams end with an extra
data: {"object":"oryvox.summary", ...}line before[DONE]; OpenAI SDKs ignore it. /responsesis a simplified subset (string or message input, text output). Built-in tools,previous_response_idand file inputs are not supported.- Assistants, Files, Fine-tuning, Images, Audio and Batch APIs are not available.
- Errors use ORYVOX
types (see Errors).
Ar šis puslapis buvo naudingas?