Fix: use hi_res strategy + chipper model + GPU for maximum quality
This commit is contained in:
+21
-4
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Parse PDF document using unstructured-api on 192.168.1.103.
|
||||
Uses maximum quality settings (hi_res + GPU).
|
||||
Saves parsed JSON to /tmp/pol177_parsed.json.
|
||||
"""
|
||||
|
||||
@@ -12,17 +13,33 @@ PDF_PATH = "/opt/documents_xk/АОХКСибцем/07 Служба Вице-пр
|
||||
API_URL = "http://192.168.1.103:8005/general/v0/general"
|
||||
|
||||
def parse_pdf():
|
||||
print("Parsing PDF...")
|
||||
print("Parsing PDF with maximum quality (hi_res + GPU)...")
|
||||
|
||||
# Maximum quality parameters
|
||||
form_data = {
|
||||
'strategy': 'hi_res',
|
||||
'hi_res_model_name': 'chipper',
|
||||
'pdf_infer_table_structure': 'true',
|
||||
'extract_images': 'true',
|
||||
'extract_image_block_types': '["image", "table"]',
|
||||
}
|
||||
|
||||
with open(PDF_PATH, 'rb') as f:
|
||||
files = {'file': f}
|
||||
response = requests.post(API_URL, files=files)
|
||||
# Note: 'files' (plural) - API expects list of UploadFile
|
||||
files = {'files': f}
|
||||
response = requests.post(API_URL, files=files, data=form_data)
|
||||
|
||||
if response.status_code != 200:
|
||||
print(f"ERROR: API returned {response.status_code}: {response.text[:500]}")
|
||||
sys.exit(1)
|
||||
|
||||
result = response.json()
|
||||
elements = result.get('elements', [])
|
||||
|
||||
# API returns array directly, not {"elements": [...]}
|
||||
if isinstance(result, list):
|
||||
elements = result
|
||||
else:
|
||||
elements = result.get('elements', [])
|
||||
|
||||
print(f"Extracted {len(elements)} elements")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user