Spaces:
Running
Running
Sandy2636
commited on
Commit
·
d82951f
1
Parent(s):
ca25c3d
Add application file
Browse files
app.py
CHANGED
|
@@ -2,10 +2,25 @@ import gradio as gr
|
|
| 2 |
import base64
|
| 3 |
import requests
|
| 4 |
import json
|
|
|
|
| 5 |
|
| 6 |
API_KEY = "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"
|
| 7 |
IMAGE_MODEL = "opengvlab/internvl3-14b:free"
|
| 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
def process_passport(image):
|
| 10 |
try:
|
| 11 |
with open(image, "rb") as f:
|
|
@@ -63,7 +78,7 @@ def process_passport(image):
|
|
| 63 |
response = requests.post("https://openrouter.ai/api/v1/chat/completions", headers=headers, json=payload)
|
| 64 |
result = response.json()
|
| 65 |
|
| 66 |
-
return json.dumps(result["choices"][0]["message"]["content"], indent=2)
|
| 67 |
|
| 68 |
except Exception as e:
|
| 69 |
return f"⚠️ Error: {str(e)}"
|
|
|
|
| 2 |
import base64
|
| 3 |
import requests
|
| 4 |
import json
|
| 5 |
+
import re
|
| 6 |
|
| 7 |
API_KEY = "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"
|
| 8 |
IMAGE_MODEL = "opengvlab/internvl3-14b:free"
|
| 9 |
|
| 10 |
+
def extract_json_from_code_block(text):
|
| 11 |
+
try:
|
| 12 |
+
# Match content between triple backticks with 'json'
|
| 13 |
+
match = re.search(r"```json\s*(\{.*?\})\s*```", text, re.DOTALL)
|
| 14 |
+
if not match:
|
| 15 |
+
return {"error": "No JSON block found."}
|
| 16 |
+
|
| 17 |
+
json_str = match.group(1)
|
| 18 |
+
|
| 19 |
+
# Convert to Python dictionary
|
| 20 |
+
return json.loads(json_str)
|
| 21 |
+
except json.JSONDecodeError as e:
|
| 22 |
+
return {"error": f"Invalid JSON: {str(e)}"}
|
| 23 |
+
|
| 24 |
def process_passport(image):
|
| 25 |
try:
|
| 26 |
with open(image, "rb") as f:
|
|
|
|
| 78 |
response = requests.post("https://openrouter.ai/api/v1/chat/completions", headers=headers, json=payload)
|
| 79 |
result = response.json()
|
| 80 |
|
| 81 |
+
return json.dumps(extract_json_from_code_block(result["choices"][0]["message"]["content"]), indent=2)
|
| 82 |
|
| 83 |
except Exception as e:
|
| 84 |
return f"⚠️ Error: {str(e)}"
|