Skip to content

Quickstart

This guide shows the fastest way to send your first request to the noris “LLM as a Service” platform. Within minutes you’ll get a response from a large language model.

  • A valid API key for https://ai.noris.de/v1 (available against AI-Punkte).
  • HTTPS connectivity from your client system to the https://ai.noris.de endpoint.
  • Optional: an installed HTTP client (curl) and a runtime for Python or JavaScript/Node.js.

The API is fully OpenAI-compatible. If you already use the OpenAI SDK, it’s enough to adjust base URL, API key, and model name, see Migration from OpenAI.

The simplest call is an HTTP POST to the /chat/completions endpoint. Replace YOUR_API_KEY with your personal key.

Terminal window
curl -X POST https://ai.noris.de/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "vllm/release/gpt-oss-120b",
"messages": [{"role": "user", "content": "Hello!"}]
}'

A successful response returns a JSON object with the generated text under choices[0].message.content.

For Python, we recommend the official openai SDK, which works against the noris platform without any code changes. Install it once with pip install openai.

from openai import OpenAI
client = OpenAI(
base_url="https://ai.noris.de/v1",
api_key="YOUR_API_KEY"
)
response = client.chat.completions.create(
model="vllm/release/gpt-oss-120b",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

In Node.js or the browser you can use the native fetch API. For server-side applications, never embed the API key in client code, proxy requests through a backend service instead.

const response = await fetch("https://ai.noris.de/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
model: "vllm/release/gpt-oss-120b",
messages: [{role: "user", content: "Hello!"}]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);

You’ve successfully sent your first request. From here, we recommend the following order: