| import httpx, asyncio, json |
|
|
| async def test(): |
| |
| async with httpx.AsyncClient(timeout=10.0) as c: |
| r = await c.get('http://127.0.0.1:8081/') |
| print(f'Gateway: {r.status_code}') |
| |
| |
| async with httpx.AsyncClient(timeout=10.0) as c: |
| r = await c.get('http://127.0.0.1:5000/health') |
| print(f'Phone proxy: {r.status_code} - {r.text}') |
| |
| |
| print('\nTesting chat...') |
| async with httpx.AsyncClient(timeout=120.0) as c: |
| r = await c.post( |
| 'http://127.0.0.1:8081/v1/chat/completions', |
| headers={ |
| 'Content-Type': 'application/json', |
| 'Authorization': 'Bearer da-demo-key-0001' |
| }, |
| json={ |
| 'model': 'dispatchAI/SmolLM2-135M-Instruct-mobile', |
| 'messages': [{'role': 'user', 'content': 'What is the capital of France?'}], |
| 'max_tokens': 20 |
| } |
| ) |
| print(f'Chat status: {r.status_code}') |
| try: |
| data = json.loads(r.text) |
| content = data.get('choices', [{}])[0].get('message', {}).get('content', '') |
| phone = data.get('phone_info', {}) |
| usage = data.get('usage', {}) |
| print(f'Content: "{content[:200]}"') |
| print(f'Phone: {phone}') |
| print(f'Usage: {usage}') |
| except: |
| print(f'Raw: {r.text[:500]}') |
|
|
| asyncio.run(test()) |
|
|