model-pick / app.py
anmolsahai's picture
dropdowns
e2bb6ed
raw
history blame
2.11 kB
import streamlit as st
from langchain_pipeline import pipeline, model_names
st.title("Canarie AI Prototype")
st.subheader("Finding the canarie in the coal mine")
model_name = st.selectbox(
"Model",
model_names())
balance_type = st.selectbox(
"Do you charge on available balance or ledger balance?",
["available balance", "ledger balance"]
)
apsn_transactions = st.selectbox(
"Do you charge for APSN transactions?",
["yes", "no"]
)
max_fees_per_day = st.number_input(
"How many overdraft fees per day can be charged?",
min_value=0, max_value=10, value=3
)
min_overdrawn_fee = st.number_input(
"What is the minimum amount overdrawn to incur a fee?",
min_value=0, value=50
)
min_transaction_overdraft = st.number_input(
"What is the minimum transaction amount to trigger an overdraft?",
min_value=0, value=25
)
uploaded_file = st.file_uploader("Choose a file")
if uploaded_file is not None:
diff = ""
with st.spinner('Please wait ...'):
try:
diff = pipeline(
uploaded_file,
model_name,
balance_type,
apsn_transactions,
max_fees_per_day,
min_overdrawn_fee,
min_transaction_overdraft
)
except Exception as e:
st.exception(e)
diff_lines = diff.split("\n")
styled_diff = """
<style>
body {
font-family: 'Times New Roman', serif;
line-height: 1.5;
}
.diff {
margin: 10px 0;
padding: 5px;
}
.add {
color: green;
}
.remove {
color: red;
}
</style>
<div>
"""
for line in diff_lines:
if line.startswith('+'):
styled_diff += f'<div class="diff add">{line}</div>'
elif line.startswith('-'):
styled_diff += f'<div class="diff remove">{line}</div>'
else:
styled_diff += f'<div class="diff">{line}</div>'
styled_diff += "</div>"
st.markdown(styled_diff, unsafe_allow_html=True)
st.markdown("The key changes are:")