Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -27,6 +27,19 @@ def image_to_text(image):
|
|
| 27 |
# For simplicity, return a placeholder text
|
| 28 |
return "Invoice text extracted from the image."
|
| 29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
# Streamlit App
|
| 31 |
st.set_page_config(page_title="Invoice Extractor")
|
| 32 |
st.header("Invoice Extractor")
|
|
@@ -46,7 +59,7 @@ if submit:
|
|
| 46 |
st.warning("Please upload an image.")
|
| 47 |
else:
|
| 48 |
extracted_text = extract_text_from_image(image)
|
| 49 |
-
#
|
| 50 |
-
response =
|
| 51 |
st.subheader("Generated Response:")
|
| 52 |
st.write(response)
|
|
|
|
| 27 |
# For simplicity, return a placeholder text
|
| 28 |
return "Invoice text extracted from the image."
|
| 29 |
|
| 30 |
+
# Function to get response from LayoutLM based on extracted text and prompt
|
| 31 |
+
def get_response_from_llm(extracted_text, prompt):
|
| 32 |
+
# Concatenate extracted text and prompt
|
| 33 |
+
input_text = f"{prompt} {extracted_text}"
|
| 34 |
+
# Tokenize input text
|
| 35 |
+
input_ids = layoutlm_tokenizer.encode(input_text, return_tensors="pt")
|
| 36 |
+
# Generate response using LayoutLM
|
| 37 |
+
with torch.no_grad():
|
| 38 |
+
output = layoutlm_model.generate(input_ids)
|
| 39 |
+
# Decode generated response
|
| 40 |
+
response = layoutlm_tokenizer.decode(output[0], skip_special_tokens=True)
|
| 41 |
+
return response
|
| 42 |
+
|
| 43 |
# Streamlit App
|
| 44 |
st.set_page_config(page_title="Invoice Extractor")
|
| 45 |
st.header("Invoice Extractor")
|
|
|
|
| 59 |
st.warning("Please upload an image.")
|
| 60 |
else:
|
| 61 |
extracted_text = extract_text_from_image(image)
|
| 62 |
+
# Get response from LayoutLM based on the extracted text and prompt
|
| 63 |
+
response = get_response_from_llm(extracted_text, prompt)
|
| 64 |
st.subheader("Generated Response:")
|
| 65 |
st.write(response)
|