Uten streaming venter brukeren til Claude er ferdig med hele svaret før noe vises. Med streaming kommer ordene frem ett etter ett — akkurat som når du ser Claude skrive i claude.ai. Dette gir en dramatisk bedre brukeropplevelse, spesielt for lange svar.
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
header("X-Accel-Buffering: no");
$api_key = getenv("ANTHROPIC_API_KEY");
$data = [
"model" => "claude-sonnet-4-20250514",
"max_tokens" => 1024,
"stream" => true,
"messages" => [
["role" => "user", "content" => $_POST["melding"] ?? "Hei"]
]
];
$ch = curl_init("https://api.anthropic.com/v1/messages");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
"x-api-key: $api_key",
"anthropic-version: 2023-06-01",
"content-type: application/json"
],
CURLOPT_WRITEFUNCTION => function($ch, $chunk) {
echo $chunk;
ob_flush();
flush();
return strlen($chunk);
}
]);
curl_exec($ch);
import anthropic
klient = anthropic.Anthropic()
with klient.messages.stream(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Forklar kvantefysikk"}]
) as stream:
for tekst in stream.text_stream:
print(tekst, end="", flush=True)
Tokens er de grunnleggende enhetene Claude behandler tekst i. Ikke ord, ikke tegn — men noe midt imellom. Å forstå tokens er viktig fordi du betaler per token og fordi kontekstvinduet måles i tokens.
max_tokens setter en hard grense på hvor langt svaret kan bli. Sett det lavt for enkle oppgaver, høyt for lange analyser:
Husk at hele samtalehistorikken teller mot kontekstvinduet. I lange samtaler kan input tokens bli svært mange:
Anthropic tilbyr prompt caching for lange system prompts og dokumenter. Første gang betaler du full pris — deretter caches innholdet og koster bare 10% av normal input-pris i 5 minutter.
Det er ingenting for lite eller for stort til å overlate til Gud.— Florence Scovel Shinn
Test deg selv — helt valgfritt, men morsomt! 🎯
Spørsmål 1 av 3
Hva er den viktigste brukeropplevelsesfordelen med streaming?
Spørsmål 2 av 3
Hva betyr det hvis stop_reason i API-responsen er "max_tokens"?
Spørsmål 3 av 3
Hvorfor koster output tokens mer enn input tokens?