import requests
import os
import json
def streaming_chat():
REQUESTY_API_KEY = os.environ.get("REQUESTY_API_KEY")
if not REQUESTY_API_KEY:
print("Error: REQUESTY_API_KEY environment variable not set.")
return
try:
response = requests.post(
'https://router.requesty.ai/v1/chat/completions',
headers={
'Authorization': f'Bearer {REQUESTY_API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': "openai/gpt-4o",
'messages': [
{'role': "user", 'content': "Write a short story about AI"}
],
'stream': True
},
stream=True # Important for streaming
)
response.raise_for_status()
for line in response.iter_lines():
decoded_line = line.decode('utf-8')
trimmed_line = decoded_line.strip()
if not trimmed_line.startswith('data:'):
continue
data = trimmed_line[len('data:'):].strip()
if data == '[DONE]':
print('\nStream completed')
break
try:
parsed = json.loads(data)
content = parsed.get('choices', [{}])[0].get('delta', {}).get('content')
if content:
print(content, end='')
except json.JSONDecodeError:
# Skip invalid JSON lines
pass
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
streaming_chat()