curl -N https://api.yelu.ai/v1/chat/completions \
-H "Authorization: Bearer $YELU_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"List three API design principles."}],"stream":true}'
const response = await fetch('https://api.yelu.ai/v1/chat/completions', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.YELU_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: 'List three API design principles.' }],
stream: true,
}),
});
if (!response.ok || !response.body) throw new Error(await response.text());
const decoder = new TextDecoder();
let buffer = '';
for await (const bytes of response.body) {
buffer += decoder.decode(bytes, { stream: true });
const frames = buffer.split('\n\n');
buffer = frames.pop() ?? '';
for (const frame of frames) {
const line = frame.split('\n').find((value) => value.startsWith('data: '));
if (!line) continue;
const payload = line.slice(6).trim();
if (payload === '[DONE]') continue;
process.stdout.write(JSON.parse(payload).choices?.[0]?.delta?.content ?? '');
}
}
import json
import os
import requests
with requests.post(
"https://api.yelu.ai/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['YELU_API_KEY']}"},
json={
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "List three API design principles."}],
"stream": True,
},
stream=True,
timeout=(10, 120),
) as response:
response.raise_for_status()
for line in response.iter_lines(decode_unicode=True):
if not line or not line.startswith("data: "):
continue
payload = line[6:].strip()
if payload == "[DONE]":
break
print(json.loads(payload).get("choices", [{}])[0].get("delta", {}).get("content", ""), end="", flush=True)