Spaces:
Runtime error
Runtime error
File size: 2,565 Bytes
73588d1 428777e f41d972 73588d1 428777e f41d972 428777e f41d972 73588d1 57da852 f41d972 73588d1 db2ee0f f41d972 73588d1 428777e f41d972 a266b98 f41d972 73588d1 f41d972 a23421d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
""" this app is streamlit app for the current project hosted on HuggingFace spaces """
import streamlit as st
from openai_chat_completion import OpenAIChatCompletions
from dataclean_hf import main
from util import json_to_dict #, join_dicts
st.title("Kaleidoscope Data - Data Cleaning LLM App")
st.write("This app is a demo of the LLM model for data cleaning. It is a work in progress and is not yet ready for production use.")
# text box or csv upload
text_input = st.text_input("Enter text", "")
csv_file = st.file_uploader("Upload CSV", type=['csv'])
# button to run data cleaning API on text via c class in openai_chat_completion.py
if st.button("Run Data Cleaning API"):
# if text_input is not empty, run data cleaning API on text_input
if text_input:
MODEL = "gpt-4" # "gpt-3.5-turbo"
try:
with open('prompts/gpt4-system-message2.txt', 'r', encoding='utf8') as f:
sys_mes = f.read()
f.close()
except FileNotFoundError:
with open('../prompts/gpt4-system-message2.txt', 'r', encoding='utf8') as f:
sys_mes = f.read()
f.close()
# instantiate OpenAIChatCompletions class
# get response from openai_chat_completion method
chat = OpenAIChatCompletions(model=MODEL, system_message=sys_mes)
response = chat.openai_chat_completion(text_input, n_shot=None)
# display response
# st.write(response['choices'][0]['message']['content'])
response_content = response['choices'][0]['message']['content']
st.write(json_to_dict(response_content))
# if csv_file is not empty, run data cleaning API on csv_file
elif csv_file:
# run data cleaning API on csv_file
output_df = main(csv_file)
@st.cache_data
def convert_df(df):
"""coverting dataframe to csv
Args:
df (_type_): pd.DataFrame
Returns:
_type_: csv
"""
# IMPORTANT: Cache the conversion to prevent computation on every rerun
return df.to_csv().encode('utf-8')
csv = convert_df(output_df)
st.download_button(
label="Download data as CSV",
data=csv,
file_name='cleaned_df.csv',
mime='text/csv',
)
# if both text_input and csv_file are empty, display error message
else:
st.write("Please enter text or upload a CSV file.") |