Spaces:
Sleeping
Sleeping
File size: 1,711 Bytes
52a0fe9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | """Simple API test - writes results to file."""
import requests, time, json
BASE = "http://localhost:8000"
out = []
with open("test_document.docx", "rb") as f:
res = requests.post(f"{BASE}/api/upload", files={"file": ("test_document.docx", f)})
data = res.json()
task_id = data["file_id"]
out.append(f"Upload: {data['status']} (ID: {task_id})")
for i in range(30):
time.sleep(1)
res = requests.get(f"{BASE}/api/status/{task_id}")
result = res.json()
if result["status"] in ("completed", "error"):
break
out.append(f"Status: {result['status']}")
out.append(f"Time: {round(result.get('processing_time_ms', 0))}ms")
if result.get("extraction"):
e = result["extraction"]
out.append(f"\nEXTRACTION: success={e['success']}, words={e['metadata']['word_count']}")
out.append(f"Text preview: {e['raw_text'][:200]}...")
if result.get("summary"):
s = result["summary"]
out.append(f"\nSUMMARY ({s['algorithm']}): compression={round((1-s['compression_ratio'])*100)}%")
out.append(s["summary"][:400])
if result.get("entities"):
ent = result["entities"]
out.append(f"\nENTITIES: {ent['total_entities']} found")
out.append(f"Categories: {json.dumps(ent['entity_counts'])}")
for e in ent["entities"][:15]:
out.append(f" [{e['label']}] {e['text']} (x{e['count']})")
if result.get("sentiment"):
s = result["sentiment"]
out.append(f"\nSENTIMENT: {s['overall_label']} (compound={s['overall_compound']})")
out.append(f"Pos={s['overall_positive']} Neg={s['overall_negative']} Neu={s['overall_neutral']}")
out.append("\nDONE")
text = "\n".join(out)
with open("test_output.txt", "w", encoding="utf-8") as f:
f.write(text)
print(text)
|