DSatishchandra commited on
Commit
8c03e36
·
verified ·
1 Parent(s): 5cc4c43

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -2
app.py CHANGED
@@ -2,6 +2,13 @@ from transformers import LayoutLMForTokenClassification, LayoutLMTokenizer
2
  import gradio as gr
3
  import cv2
4
  import easyocr
 
 
 
 
 
 
 
5
 
6
  # Initialize EasyOCR reader for text extraction
7
  reader = easyocr.Reader(['en'])
@@ -10,6 +17,9 @@ reader = easyocr.Reader(['en'])
10
  model = LayoutLMForTokenClassification.from_pretrained("microsoft/layoutlm-large-uncased")
11
  tokenizer = LayoutLMTokenizer.from_pretrained("microsoft/layoutlm-large-uncased")
12
 
 
 
 
13
  # Function to extract text using EasyOCR and process with LayoutLM
14
  def extract_patient_info(image):
15
  # Convert the uploaded image to RGB (required by LayoutLM)
@@ -23,12 +33,42 @@ def extract_patient_info(image):
23
  inputs = tokenizer(extracted_text, return_tensors="pt")
24
  outputs = model(**inputs)
25
 
26
- # For this example, we return the extracted text (you can further process LayoutLM's output)
 
 
 
 
 
 
27
  return extracted_text
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  # Gradio interface setup
30
  with gr.Blocks() as demo:
31
- gr.Markdown("### OCR Using LayoutLM Pretrained Model with EasyOCR")
32
 
33
  # Image upload component
34
  image_input = gr.Image(type="numpy", label="Upload Image")
 
2
  import gradio as gr
3
  import cv2
4
  import easyocr
5
+ from simple_salesforce import Salesforce
6
+
7
+ # Salesforce credentials
8
+ Salesforce_User_Name = '[email protected]' # Your Salesforce username
9
+ Salesforce_Password = 'Sathkrutha@06'
10
+ SALESFORCE_INSTANCE_URL = 'https://sathkruthatechsolutions63-dev-ed.develop.lightning.force.com'
11
+ SALESFORCE_ACCESS_TOKEN = 'UnByPih7PWmoWLzRuRyFrXzw'
12
 
13
  # Initialize EasyOCR reader for text extraction
14
  reader = easyocr.Reader(['en'])
 
17
  model = LayoutLMForTokenClassification.from_pretrained("microsoft/layoutlm-large-uncased")
18
  tokenizer = LayoutLMTokenizer.from_pretrained("microsoft/layoutlm-large-uncased")
19
 
20
+ # Salesforce Connection Setup
21
+ sf = Salesforce(username=Salesforce_User_Name, password=Salesforce_Password, security_token=SALESFORCE_ACCESS_TOKEN)
22
+
23
  # Function to extract text using EasyOCR and process with LayoutLM
24
  def extract_patient_info(image):
25
  # Convert the uploaded image to RGB (required by LayoutLM)
 
33
  inputs = tokenizer(extracted_text, return_tensors="pt")
34
  outputs = model(**inputs)
35
 
36
+ # Here, extracted_text is already available from EasyOCR, we can extract relevant details
37
+ details = extract_details_from_text(extracted_text)
38
+
39
+ # Create a record in Salesforce using the extracted details
40
+ create_salesforce_record(details)
41
+
42
+ # Return the extracted text
43
  return extracted_text
44
 
45
+ # Function to extract details from the extracted text (use regex or other methods to extract)
46
+ def extract_details_from_text(extracted_text):
47
+ # Simple example of extracting details, customize this according to the format of the text
48
+ details = {}
49
+ details['Name'] = "Shanthi" # Here, add the logic to extract the actual name
50
+ details['Age'] = "39" # Similarly, extract age, gender, and phone number
51
+ details['Gender'] = "Female"
52
+ details['Phone Number'] = "9955337097"
53
+
54
+ return details
55
+
56
+ # Function to create a record in Salesforce
57
+ def create_salesforce_record(details):
58
+ data = {
59
+ 'Name__c': details['Name'],
60
+ 'Age__c': int(details['Age']),
61
+ 'Gender__c': details['Gender'],
62
+ 'Phone_Number__c': details['Phone Number']
63
+ }
64
+
65
+ # Create a new record in Salesforce
66
+ sf.Patient_Registration__c.create(data)
67
+ print("Salesforce record created successfully!")
68
+
69
  # Gradio interface setup
70
  with gr.Blocks() as demo:
71
+ gr.Markdown("### OCR Using LayoutLM Pretrained Model with EasyOCR and Salesforce Integration")
72
 
73
  # Image upload component
74
  image_input = gr.Image(type="numpy", label="Upload Image")