Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -90,6 +90,8 @@ def text_extractor(state: State):
|
|
| 90 |
}
|
| 91 |
]
|
| 92 |
|
|
|
|
|
|
|
| 93 |
|
| 94 |
response = client.chat.completions.create(
|
| 95 |
model='gpt-4o-mini',
|
|
@@ -99,6 +101,8 @@ def text_extractor(state: State):
|
|
| 99 |
|
| 100 |
extracted_text = response.choices[0].message.content
|
| 101 |
|
|
|
|
|
|
|
| 102 |
return {'extracted_text': extracted_text}
|
| 103 |
|
| 104 |
def categorizer(state: State):
|
|
@@ -113,6 +117,8 @@ def categorizer(state: State):
|
|
| 113 |
Do not output anything except the above fields in your JSON output.
|
| 114 |
Do not delimit the JSON with any extra tags (e.g., ``` or ```JSON).
|
| 115 |
"""
|
|
|
|
|
|
|
| 116 |
|
| 117 |
categorization_prompt = [
|
| 118 |
SystemMessage(content=categorization_system_message),
|
|
@@ -126,6 +132,9 @@ def categorizer(state: State):
|
|
| 126 |
|
| 127 |
def verifier(state: State):
|
| 128 |
|
|
|
|
|
|
|
|
|
|
| 129 |
for document in company_policy_document:
|
| 130 |
if document.page_content.find(f'{type_of_expense}') != -1:
|
| 131 |
relevant_company_policy = document.page_content
|
|
@@ -153,6 +162,8 @@ def verifier(state: State):
|
|
| 153 |
|
| 154 |
def estimator(state: State):
|
| 155 |
|
|
|
|
|
|
|
| 156 |
total_bill = 0
|
| 157 |
total_taxes_and_charges = 0
|
| 158 |
|
|
@@ -170,6 +181,8 @@ def estimator(state: State):
|
|
| 170 |
|
| 171 |
|
| 172 |
def formatter(state: State):
|
|
|
|
|
|
|
| 173 |
final_output_system_message = """
|
| 174 |
You are an expert accountant tasked to generate the expense claim report.
|
| 175 |
Generate the expense claim report based on the calculated total amount to be reimbursed and other details available to you.
|
|
|
|
| 90 |
}
|
| 91 |
]
|
| 92 |
|
| 93 |
+
print("I have access to the Open AI API for text extraction.")
|
| 94 |
+
print("I need to format the input image in the Open AI format")
|
| 95 |
|
| 96 |
response = client.chat.completions.create(
|
| 97 |
model='gpt-4o-mini',
|
|
|
|
| 101 |
|
| 102 |
extracted_text = response.choices[0].message.content
|
| 103 |
|
| 104 |
+
print("Extracted text from the input image")
|
| 105 |
+
|
| 106 |
return {'extracted_text': extracted_text}
|
| 107 |
|
| 108 |
def categorizer(state: State):
|
|
|
|
| 117 |
Do not output anything except the above fields in your JSON output.
|
| 118 |
Do not delimit the JSON with any extra tags (e.g., ``` or ```JSON).
|
| 119 |
"""
|
| 120 |
+
|
| 121 |
+
print("Categorizing items in the input text to one of: Alcoholic Drinks, Non-Alcoholic Drinks and Food.")
|
| 122 |
|
| 123 |
categorization_prompt = [
|
| 124 |
SystemMessage(content=categorization_system_message),
|
|
|
|
| 132 |
|
| 133 |
def verifier(state: State):
|
| 134 |
|
| 135 |
+
print("I now have to retrieve relevant sections of the company policy to exclude items that are not reimbursable.")
|
| 136 |
+
print("I will use the search tool to execute this step.")
|
| 137 |
+
|
| 138 |
for document in company_policy_document:
|
| 139 |
if document.page_content.find(f'{type_of_expense}') != -1:
|
| 140 |
relevant_company_policy = document.page_content
|
|
|
|
| 162 |
|
| 163 |
def estimator(state: State):
|
| 164 |
|
| 165 |
+
print("Calculating the revised total amount and taxes")
|
| 166 |
+
|
| 167 |
total_bill = 0
|
| 168 |
total_taxes_and_charges = 0
|
| 169 |
|
|
|
|
| 181 |
|
| 182 |
|
| 183 |
def formatter(state: State):
|
| 184 |
+
print("Formatting the output into a markdown file")
|
| 185 |
+
|
| 186 |
final_output_system_message = """
|
| 187 |
You are an expert accountant tasked to generate the expense claim report.
|
| 188 |
Generate the expense claim report based on the calculated total amount to be reimbursed and other details available to you.
|