Intégrez facilement l'IA à votre application Compatibilité directe avec n'importe quel client OpenAI

Pointez n'importe quelle bibliothèque compatible avec OpenAI vers l'URL de base de Nebux avec votre clé API, sans réécrire de code.

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});

Vous décidez de ce que le modèle retient

Chaque requête est indépendante : le modèle ne connaît que les messages que vous y incluez. Pour poursuivre une conversation, envoyez l'historique avec le nouveau message et choisissez le modèle qui répond.

Système · assistant utile
Recommande-moi un livre
Essaie « L'Étranger »
Et un autre du même genre ?
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 temps réel

Affichez la réponse au fur et à mesure qu'elle s'écrit, token par token. Ou, si vous préférez, récupérez-la entière d'un seul coup.

Quelles chaussures de running tu me conseilles ?
AssistantPour le bitume, une chaussure neutre avec un bon amorti
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}

Sorties JSON garanties

Imposez une réponse en JSON valide, conforme à votre schéma.

› Classe ces commentaires :
"Génial !""Nul""Bien""Lent"
{
  "good": [{ "id": 1, "comment": "Génial !" }, { "id": 3, "comment": "Bien" }],
  "bad": [{ "id": 2, "comment": "Nul" }, { "id": 4, "comment": "Lent" }]
}
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));

Du raisonnement, seulement quand vous en avez besoin

Laissez le modèle réfléchir avant de répondre sur les tâches les plus difficiles. Le raisonnement arrive séparé de la réponse, pour que vous puissiez l'afficher, le conserver ou l'ignorer, et vous ne le payez que sur les requêtes où vous l'activez.

Un café coûte 1,20 €. Combien font 7 cafés avec 15 % de réduction ?
Raisonnement
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);

Vous décidez comment il répond

Température, top-p, nombre maximal de tokens, pénalités et séquences d'arrêt. La même question, avec le ton et la longueur que vous voulez.

Décris le produit en une ligne
temperature 0
Un service d'inférence compatible avec OpenAI.
temperature 1.2
Des modèles ouverts, servis depuis l'Europe, à une ligne de code.
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);

Des résultats reproductibles

Fixez une seed et mettez la température à zéro pour obtenir des réponses cohérentes d'une exécution à l'autre. Idéal pour classer, extraire des données ou tester sans surprise.

seed: 42temperature: 0
›Classe cet avispositif
›Classe cet avispositif
Même sortie
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);

Appel de fonctions

Le modèle appelle vos outils et vos fonctions quand il le faut, pour répondre avec les données qu'ils renvoient.

Quel temps fait-il à València ?
get_weather("València")
→ { "temp": 25, "sky": "sunny" }
Il fait 25 °C et grand soleil à 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);

Essayez et ajustez avant d'écrire du code

Copiez le code prêt à l'emploi dans n'importe lequel des langages que nous documentons et commencez à construire.

Ouvrir le banc d'essai

Toute l'API, documentée

Chaque paramètre de l'endpoint, avec des exemples : streaming, JSON garanti, appel de fonctions et gestion des erreurs.

Documentation

Prêt à essayer Inférence d'IA ?

Ou laissez-nous le gérer pour vous

Vous préférez vous concentrer sur votre produit ? Nous maintenons et faisons évoluer vos systèmes, comme une équipe de plus au sein de votre entreprise.

En savoir plus sur le cloud géré