Eksempler
Komplette, kjørbare oppskrifter med BlixAI — fra strømmende chat til dokumentanalyse på 512K kontekst.
1. Strømmende chat i nettleseren
Frontend som strømmer svaret token for token. API-nøkkelen må aldri ligge i nettleserkoden — kall går via en enkel backend-proxy.
Backend-proxy (Node.js)
import express from "express";
const app = express();
app.use(express.json());
app.post("/api/chat", async (req, res) => {
const upstream = await fetch("https://models.blixai.com/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.BLIXAI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "Qwen/Qwen3.8-Flash-Next-FP8",
messages: req.body.messages,
stream: true,
max_tokens: 1024,
}),
});
res.setHeader("Content-Type", "text/event-stream");
upstream.body.pipe(res); // strøm videre til klienten
});
app.listen(3000);
Frontend
async function chat(question) {
const res = await fetch("/api/chat", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ messages: [{ role: "user", content: question }] }),
});
const reader = res.body.getReader();
const decoder = new TextDecoder();
let buffer = "";
while (true) {
const { done, value } = await reader.read();
if (done) break;
buffer += decoder.decode(value, { stream: true });
const lines = buffer.split("\n");
buffer = lines.pop();
for (const line of lines) {
if (!line.startsWith("data: ") || line === "data: [DONE]") continue;
const delta = JSON.parse(line.slice(6)).choices[0].delta;
if (delta.content) document.body.append(delta.content); // ellér oppdater UI-et ditt
}
}
}
2. Lange dokumenter med 512K kontekst
GLM 5.3 FP4 har 524 288 tokens kontekst — hele rapporter, kontrakter eller kodebaser kan legges rett inn, uten embeddings eller chunking:
from openai import OpenAI
client = OpenAI(
base_url="https://models.blixai.com/v1",
api_key="sk-blix-din-nokkel-her",
)
rapport = open("stor-rapport.txt", encoding="utf-8").read() # inntil ~500 000 tokens
response = client.chat.completions.create(
model="GLM-5.3-FP4",
messages=[
{"role": "system", "content": "Du er en analytiker. Svare konsist og presist."},
{"role": "user", "content": f"Oppsummer de fem viktigste funnene i denne rapporten:\n\n{rapport}"},
],
max_tokens=4096,
)
print(response.choices[0].message.content)
Inndata faktureres per token — sjekk filstørrelsen først. En 512K-inndata med GLM koster mer enn et par linjer tekst.
3. Strukturert uttrekk via tool calling
Tving modellen til å svare med validert JSON: definér et «verktøy» som modellen må kalle for å levere dataene:
import json
from openai import OpenAI
client = OpenAI(base_url="https://models.blixai.com/v1", api_key="sk-blix-...")
faktura = open("faktura.txt", encoding="utf-8").read()
response = client.chat.completions.create(
model="Qwen/Qwen3.8-Flash-Next-FP8",
messages=[
{"role": "user",
"content": f"Trekker ut fakturadata fra denne teksten:\n\n{faktura}"},
],
tools=[{
"type": "function",
"function": {
"name": "lagre_faktura",
"description": "Lagre strukturert fakturadata",
"parameters": {
"type": "object",
"properties": {
"kid": {"type": "string"},
"belop": {"type": "number"},
"forfall": {"type": "string", "description": "Format: YYYY-MM-DD"},
},
"required": ["kid", "belop", "forfall"],
},
},
}],
tool_choice={"type": "function", "function": {"name": "lagre_faktura"}},
max_tokens=2048,
)
data = json.loads(response.choices[0].message.tool_calls[0].function.arguments)
assert set(data) == {"kid", "belop", "forfall"} # valider før bruk
print(data)
Med tool_choice tvinges modellen til å kalle akkurat dette verktøyet — argumentene er dermed JSON etter skjemaet ditt. Valider alltid før bruk; LLM-er kan ta feil.
4. SDK-kvikkreferanse
| Oppgave | Kall |
|---|---|
| Plain tekst-svar | client.chat.completions.create(model=..., messages=[...]) |
| Strømming | samme + stream=True, iterér chunk.choices[0].delta.content |
| Verktøy / funksjoner | send tools=[...], håndter finish_reason == "tool_calls" |
| Modelliste | client.models.list() |
| Node.js | new OpenAI({ baseURL: "https://models.blixai.com/v1", apiKey }) |
Neste steg
- Se agentveiledningen for flertrinns-løkker med verktøy.
- Alle parametere står i API-referansen.
Sist oppdatert: 19. september 2026