Hhh / tests /api_test.py
Ksjsjjdj's picture
Upload 42 files
aed88a2 verified
import requests, json, time
BASE = 'http://127.0.0.1:7860/api/v1/chat/completions'
headers = {'Content-Type': 'application/json'}
print('Non-streaming example')
payload = {
'model': 'rwkv-latest',
'prompt': 'Who is the president of France today?',
'stream': False,
'max_tokens': 64,
'temperature': 0.2,
'include_usage': True,
}
try:
r = requests.post(BASE, json=payload, timeout=120)
print('Status', r.status_code)
try:
print(json.dumps(r.json(), indent=2))
except Exception:
print('Non-JSON response:', r.text[:1000])
except Exception as e:
print('Error in non-stream request:', e)
print('\nTools: calc example')
payload = {
'model': 'rwkv-latest',
'prompt': 'Calculate 2+3*4 and explain the result.',
'stream': False,
'tools': [{'name': 'calc', 'args': {'expression': '2+3*4'}}],
'include_usage': True,
}
try:
r = requests.post(BASE, json=payload, timeout=120)
print('Status', r.status_code)
try:
print(json.dumps(r.json(), indent=2))
except Exception:
print('Non-JSON response:', r.text[:1000])
except Exception as e:
print('Error in calc tool request:', e)
print('\nTools: web_search example')
payload = {
'model': 'rwkv-latest',
'prompt': 'Who is the current president of France?',
'stream': False,
'web_search': True,
'search_top_k': 2,
'include_usage': True,
}
try:
r = requests.post(BASE, json=payload, timeout=120)
print('Status', r.status_code)
try:
print(json.dumps(r.json(), indent=2))
except Exception:
print('Non-JSON response:', r.text[:1000])
except Exception as e:
print('Error in web_search request:', e)
print('\nStreaming example (short)')
payload = {
'model': 'rwkv-latest:thinking',
'messages': [{'role': 'user', 'content': 'Explain Newton\'s first law in one sentence.'}],
'stream': True,
'max_tokens': 64,
'temperature': 0.2,
}
try:
r = requests.post(BASE, json=payload, headers=headers, stream=True, timeout=120)
print('Status', r.status_code)
if r.status_code == 200:
for line in r.iter_lines(decode_unicode=True):
if not line:
continue
print('SSE:', line)
if line.strip().endswith('[DONE]'):
break
except Exception as e:
print('Error in streaming request:', e)
print('\nDone tests')
print('\nChecking model listing endpoint')
try:
r = requests.get('http://127.0.0.1:7860/api/v1/models', timeout=10)
print('Models endpoint status', r.status_code)
try:
print(json.dumps(r.json(), indent=2))
except Exception:
print('Models endpoint returned non-JSON:', r.text[:200])
except Exception as e:
print('Error calling models endpoint:', e)