Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -92,9 +92,8 @@ def text_extractor(state: State):
|
|
92 |
]
|
93 |
|
94 |
print("I have access to the Open AI API for text extraction.")
|
95 |
-
gr.Info("I have access to the Open AI API for text extraction.")
|
96 |
print("I need to format the input image in the Open AI format")
|
97 |
-
gr.Info("I need to format the input image in the Open AI format")
|
98 |
|
99 |
response = client.chat.completions.create(
|
100 |
model='gpt-4o-mini',
|
@@ -105,7 +104,7 @@ def text_extractor(state: State):
|
|
105 |
extracted_text = response.choices[0].message.content
|
106 |
|
107 |
print("Extracted text from the input image")
|
108 |
-
gr.Info("Extracted text from the input image")
|
109 |
|
110 |
return {'extracted_text': extracted_text}
|
111 |
|
@@ -123,7 +122,7 @@ def categorizer(state: State):
|
|
123 |
"""
|
124 |
|
125 |
print("Categorizing items in the input text to one of: Alcoholic Drinks, Non-Alcoholic Drinks and Food.")
|
126 |
-
gr.Info("Categorizing items in the input text to one of: Alcoholic Drinks, Non-Alcoholic Drinks and Food.")
|
127 |
|
128 |
categorization_prompt = [
|
129 |
SystemMessage(content=categorization_system_message),
|
@@ -138,9 +137,8 @@ def categorizer(state: State):
|
|
138 |
def verifier(state: State):
|
139 |
|
140 |
print("I now have to retrieve relevant sections of the company policy to exclude items that are not reimbursable.")
|
141 |
-
gr.Info("I now have to retrieve relevant sections of the company policy to exclude items that are not reimbursable.")
|
142 |
print("I will use the search tool to execute this step.")
|
143 |
-
gr.Info("I will use the search tool to execute this step.")
|
144 |
|
145 |
for document in company_policy_document:
|
146 |
if document.page_content.find(f'{type_of_expense}') != -1:
|
@@ -170,7 +168,7 @@ def verifier(state: State):
|
|
170 |
def estimator(state: State):
|
171 |
|
172 |
print("Calculating the revised total amount and taxes")
|
173 |
-
gr.Info("Calculating the revised total amount and taxes")
|
174 |
|
175 |
total_bill = 0
|
176 |
total_taxes_and_charges = 0
|
@@ -190,7 +188,7 @@ def estimator(state: State):
|
|
190 |
|
191 |
def formatter(state: State):
|
192 |
print("Formatting the output into a markdown file")
|
193 |
-
gr.Info("Formatting the output into a markdown file")
|
194 |
|
195 |
final_output_system_message = """
|
196 |
You are an expert accountant tasked to generate the expense claim report.
|
@@ -280,7 +278,7 @@ def claim_generator(input_bill_path, progress=gr.Progress()):
|
|
280 |
output = chain.invoke({'image_path': input_bill_path})
|
281 |
progress(0.25)
|
282 |
|
283 |
-
|
284 |
|
285 |
pdf = MarkdownPdf(toc_level=3)
|
286 |
|
|
|
92 |
]
|
93 |
|
94 |
print("I have access to the Open AI API for text extraction.")
|
95 |
+
gr.Info("I have access to the Open AI API for text extraction. I need to format the input image in the Open AI format", duration=2)
|
96 |
print("I need to format the input image in the Open AI format")
|
|
|
97 |
|
98 |
response = client.chat.completions.create(
|
99 |
model='gpt-4o-mini',
|
|
|
104 |
extracted_text = response.choices[0].message.content
|
105 |
|
106 |
print("Extracted text from the input image")
|
107 |
+
gr.Info("Extracted text from the input image", duration=2)
|
108 |
|
109 |
return {'extracted_text': extracted_text}
|
110 |
|
|
|
122 |
"""
|
123 |
|
124 |
print("Categorizing items in the input text to one of: Alcoholic Drinks, Non-Alcoholic Drinks and Food.")
|
125 |
+
gr.Info("Categorizing items in the input text to one of: Alcoholic Drinks, Non-Alcoholic Drinks and Food.", duration=1)
|
126 |
|
127 |
categorization_prompt = [
|
128 |
SystemMessage(content=categorization_system_message),
|
|
|
137 |
def verifier(state: State):
|
138 |
|
139 |
print("I now have to retrieve relevant sections of the company policy to exclude items that are not reimbursable.")
|
140 |
+
gr.Info("I now have to retrieve relevant sections of the company policy to exclude items that are not reimbursable. I will use the search tool to execute this step", duration=2)
|
141 |
print("I will use the search tool to execute this step.")
|
|
|
142 |
|
143 |
for document in company_policy_document:
|
144 |
if document.page_content.find(f'{type_of_expense}') != -1:
|
|
|
168 |
def estimator(state: State):
|
169 |
|
170 |
print("Calculating the revised total amount and taxes")
|
171 |
+
gr.Info("Calculating the revised total amount and taxes", duration=1)
|
172 |
|
173 |
total_bill = 0
|
174 |
total_taxes_and_charges = 0
|
|
|
188 |
|
189 |
def formatter(state: State):
|
190 |
print("Formatting the output into a markdown file")
|
191 |
+
gr.Info("Formatting the output into a markdown file", duration=1)
|
192 |
|
193 |
final_output_system_message = """
|
194 |
You are an expert accountant tasked to generate the expense claim report.
|
|
|
278 |
output = chain.invoke({'image_path': input_bill_path})
|
279 |
progress(0.25)
|
280 |
|
281 |
+
gr.Info("Converting the markdown file to pdf", duration=2)
|
282 |
|
283 |
pdf = MarkdownPdf(toc_level=3)
|
284 |
|