Intégra la IA fácilmente en tu aplicación Compatibilidad directa con cualquier cliente de OpenAI

Apunta cualquier biblioteca compatible con OpenAI a la URL base de Nebux con tu clave de API, sin reescribir código.

baseURL"https://api.openai.com/v1"
baseURL"https://api.nebux.cloud/v1"
1import OpenAI from "openai";
2
3const client = new OpenAI({
4 apiKey: "your-api-key",
5 baseURL: "https://api.nebux.cloud/v1",
6});

Tú decides qué recuerda el modelo

Cada petición es independiente: el modelo solo conoce los mensajes que incluyes en ella. Para mantener una conversación, envía el historial junto al mensaje nuevo y elige qué modelo responde.

Sistema · asistente útil
Recomiéndame un libro
Prueba «Cien años de soledad»
¿Y otro parecido?
7const completion = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [
10 { role: "system", content: "You are a helpful assistant." },
11 { role: "user", content: "Recommend me a book" },
12 { role: "assistant", content: "Try The Shadow of the Wind" },
13 { role: "user", content: "And a similar one?" },
14 ],
15});
16
17console.log(completion.choices[0].message.content);

Streaming en tiempo real

Muestra la respuesta mientras se va escribiendo, token a token. O, si lo prefieres, obtenla entera de una vez.

¿Qué zapatillas me recomiendas?
AsistentePara asfalto, una zapatilla neutra y amortiguada
7const stream = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [{ role: "user", content: "Which running shoes do you recommend?" }],
10 stream: true,
11});
12
13for await (const chunk of stream) {
14 process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
15}

Salidas JSON garantizadas

Fuerza la respuesta a JSON válido según tu esquema.

› Clasifica los comentarios:
"¡Genial!""Fatal""Bien""Lento"
{
  "good": [{ "id": 1, "comment": "¡Genial!" }, { "id": 3, "comment": "Bien" }],
  "bad": [{ "id": 2, "comment": "Fatal" }, { "id": 4, "comment": "Lento" }]
}
7const completion = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [
10 { role: "system", content: "Classify each comment as good or bad, keeping its id. Reply as JSON." },
11 { role: "user", content: "1: Great! 2: Awful 3: Good 4: Slow" },
12 ],
13 response_format: { type: "json_object" },
14});
15
16console.log(JSON.parse(completion.choices[0].message.content));

Razonamiento, solo cuando lo necesitas

Deja que el modelo piense antes de responder en las tareas más difíciles. El razonamiento llega separado de la respuesta, para que lo muestres, lo guardes o lo ignores, y solo pagas por él en las peticiones donde lo activas.

Un café vale 1,20 €. ¿Cuánto son 7 con un 15 % de descuento?
Razonamiento
7 × 1,20 = 8,408,40 − 15 % = 7,14
7,14 €
7const res = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [
10 { role: "user", content: "A coffee is 1.20. What are 7 with 15% off?" },
11 ],
12 // chat_template_kwargs is outside the OpenAI library's types,
13 // so it travels as an extra request parameter.
14 // The other option is calling POST https://api.nebux.cloud/v1/chat/completions
15 // directly.
16 // @ts-expect-error
17 chat_template_kwargs: {"enable_thinking": true},
18});
19
20console.log(res.choices[0].message.content);

Tú decides cómo responde

Temperatura, top-p, tokens máximos, penalizaciones y secuencias de parada. La misma pregunta, con el tono y la longitud que quieras.

Describe el producto en una línea
temperature 0
Un servicio de inferencia compatible con OpenAI.
temperature 1.2
Modelos abiertos, servidos desde Europa, a una línea de código.
7const res = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [
10 { role: "user", content: "Describe the product in one line" },
11 ],
12 temperature: 0.7,
13 max_tokens: 1024,
14 top_p: 0.95,
15 frequency_penalty: 0.4,
16 stop: ["\n\n"],
17});
18
19console.log(res.choices[0].message.content);

Resultados repetibles

Fija una semilla y pon la temperatura a cero para obtener respuestas consistentes entre ejecuciones. Ideal para clasificar, extraer datos o hacer pruebas sin sorpresas.

seed: 42temperature: 0
›Clasifica esta reseñapositivo
›Clasifica esta reseñapositivo
Misma salida
7const res = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [
10 { role: "user", content: "Classify this review" },
11 ],
12 temperature: 0,
13 seed: 42,
14});
15
16console.log(res.choices[0].message.content);

Llamadas a funciones

El modelo llama a tus herramientas y funciones cuando hace falta para dar una respuesta con los datos devueltos.

¿Qué tiempo hace en València?
get_weather("València")
→ { "temp": 18, "sky": "sunny" }
Hace 25 °C y sol en València ☀️
7const completion = await client.chat.completions.create({
8 model: "qwen3-14b",
9 messages: [{ role: "user", content: "What's the weather in València?" }],
10 tools: [
11 {
12 type: "function",
13 function: {
14 name: "get_weather",
15 description: "Get the current weather for a location",
16 parameters: {
17 type: "object",
18 properties: { location: { type: "string" } },
19 required: ["location"],
20 },
21 },
22 },
23 ],
24});
25
26console.log(completion.choices[0].message.tool_calls);

Prueba y ajusta antes de escribir código

Copia el código listo para usar en cualquiera de los lenguajes que documentamos y empieza a construir.

Abrir el banco de pruebas

Toda la API, documentada

Cada parámetro del endpoint, con ejemplos: streaming, JSON garantizado, llamadas a funciones y cómo gestionar los errores.

Documentación

¿Listo para probar Inferencia de IA?

O deja que lo gestionemos por ti

¿Prefieres centrarte en tu producto? Mantenemos y evolucionamos tus sistemas como un equipo más dentro de tu empresa.

Más sobre la nube gestionada