Kom godt i gang
Få adgang, opret en nøgle, og send din første forespørgsel med OpenAI SDK eller curl.
Stav er en OpenAI- og Anthropic-kompatibel gateway til inferens. Du beholder det SDK, du allerede bruger, og ændrer to ting: din base-URL og nøglen.
1. Få adgang
Tilmeld dig på stav.ai/signup. Adgang gives fra vores venteliste; når din konto er aktiveret, lander du i dit arbejdsområde.
Inferens betales fra dit arbejdsområdes tegnebog med forudbetalt kredit. Tank op under Fakturering i kontomenuen (din avatar), før du sender trafik. Se Kredit og fakturering.
2. Opret en API-nøgle
Åbn Dit arbejdsområde → Forbind → API-nøgler og opret en nøgle. Den vises kun én gang – kopiér den med det samme.
export STAV_API_KEY="sk_stav_live_..."
Kontrollér, at den virker. Dette kald koster intet:
curl https://api.stav.ai/v1/auth/validate \
-H "Authorization: Bearer $STAV_API_KEY"
Nøgletyper, adgange og rotering: Autentificering og API-nøgler.
3. Send en forespørgsel
Base-URL: https://api.stav.ai/v1
curl
curl https://api.stav.ai/v1/chat/completions \
-H "Authorization: Bearer $STAV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Sig hej på norsk."}]
}'
Python (OpenAI SDK)
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["STAV_API_KEY"],
base_url="https://api.stav.ai/v1",
)
resp = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Sig hej på norsk."}],
)
print(resp.choices[0].message.content)
print("betjent af:", resp
TypeScript (OpenAI SDK)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.STAV_API_KEY,
baseURL: "https://api.stav.ai/v1",
});
const resp = await client.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "Sig hej på norsk." }],
});
4. Vælg en model
Feltet model tager:
| Værdi | Betydning |
|---|---|
auto | Smart Router vælger ved hjælp af dit arbejdsområdes standardrouter |
@workspace/router | En navngiven router, dit arbejdsområde har oprettet i Dit arbejdsområde → Forbind → Routere |
creator/model | Denne model; Stav vælger et leverandørendepunkt |
creator/model/provider | Denne model hos én bestemt inferensleverandør |
Læs detaljerne i Modeller.
5. Stream
stream = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Skriv en haiku om fjorde."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].
6. Se, hvad der skete
Hvert svar indeholder X-Stav-*-headere: den model og inferensleverandør, der betjente det, suverænitetsniveauet og årsagen til ruteringsvalget. Se Svarheadere. Hver forespørgsel vises også i Dit arbejdsområde → Overvåg → Forespørgselslog.
API'er
| Endepunkt | Adgang |
|---|---|
POST /v1/chat/completions | inference:chat |
POST /v1/responses | inference:chat |
POST /v1/messages, POST /v1/messages/count_tokens | inference:messages |
POST /v1/embeddings | inference:embeddings |
POST /v1/audio/transcriptions | inference:audio |
POST /v1/audio/speech | inference:audio |
POST /v1/decisions | inference:decisions |
POST /v1/rerank | inference:rerank |
GET /v1/models, GET /v1/models/{id} | inference:models |
Ukendte eller ikke-understøttede forespørgselsparametere afvises med en 400, der navngiver dem, i stedet for at blive fjernet uden besked. Se Forespørgselsparametere.
Næste skridt
- Prøv det i Chat Playground først, og kopiér derefter forespørgslen som kode
- Smart Router
- Suverænitet
- Fejl