gopichandra commited on
Commit
7cc77a8
ยท
verified ยท
1 Parent(s): 5ebcb93

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -20
app.py CHANGED
@@ -1,28 +1,42 @@
1
  import os
2
- os.environ["OMP_NUM_THREADS"] = "1" # Avoid threading conflict in Hugging Face
3
 
4
  import gradio as gr
5
  from utils import extract_kyc_fields
6
- import traceback
7
 
8
  def process_document(file):
9
- try:
10
- result = extract_kyc_fields(file.name)
11
- return result
12
- except Exception as e:
13
- return {
14
- "error": f"Failed to process image.\n{str(e)}",
15
- "traceback": traceback.format_exc()
16
- }
17
-
18
- iface = gr.Interface(
19
- fn=process_document,
20
- inputs=gr.File(label="Upload Aadhaar/PAN image", file_types=[".jpg", ".jpeg", ".png"]),
21
- outputs=gr.JSON(label="Extracted KYC Fields"),
22
- title="๐Ÿ” Smart KYC OCR (PaddleOCR)",
23
- description="Upload Aadhaar or PAN card image to extract structured KYC fields using PaddleOCR.",
24
- theme="default"
25
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  if __name__ == "__main__":
28
- iface.launch()
 
1
  import os
2
+ os.environ["OMP_NUM_THREADS"] = "1" # Avoid multithread warning
3
 
4
  import gradio as gr
5
  from utils import extract_kyc_fields
 
6
 
7
  def process_document(file):
8
+ if file is None:
9
+ return {"error": "No file uploaded."}
10
+ return extract_kyc_fields(file.name)
11
+
12
+ with gr.Blocks(title="Smart KYC OCR") as demo:
13
+ gr.Markdown(
14
+ """
15
+ # ๐Ÿงพ Smart KYC OCR Tool
16
+ Upload an image of an **Aadhaar** or **PAN** card and get structured KYC data instantly.
17
+ Powered by **PaddleOCR** and smart layout-based field detection.
18
+
19
+ ---
20
+ """
21
+ )
22
+
23
+ with gr.Row():
24
+ with gr.Column(scale=1):
25
+ uploader = gr.File(label="๐Ÿ“ค Upload Aadhaar / PAN Image", file_types=[".jpg", ".jpeg", ".png"])
26
+ submit_btn = gr.Button("๐Ÿ” Extract KYC Info", variant="primary")
27
+
28
+ with gr.Column(scale=1):
29
+ output_json = gr.JSON(label="๐Ÿ“‹ Extracted KYC Fields")
30
+
31
+ submit_btn.click(fn=process_document, inputs=uploader, outputs=output_json)
32
+
33
+ gr.Markdown("---")
34
+ gr.Markdown(
35
+ """
36
+ ๐Ÿ”’ **Privacy Note:** This app processes your document locally in the cloud.
37
+ No data is stored or shared.
38
+ """
39
+ )
40
 
41
  if __name__ == "__main__":
42
+ demo.launch()