Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from st_aggrid import AgGrid | |
| import pandas as pd | |
| # from PIL import Image | |
| from transformers import pipeline | |
| st.set_page_config(layout="wide") | |
| # im = Image.open("ai-favicon.png") | |
| # st.set_page_config(page_title="Table Summarization", | |
| # page_icon=im,layout='wide') | |
| style = ''' | |
| <style> | |
| body {background-color: #F5F5F5; color: #000000;} | |
| header {visibility: hidden;} | |
| div.block-container {padding-top:4rem;} | |
| section[data-testid="stSidebar"] div:first-child { | |
| padding-top: 0; | |
| } | |
| .font { | |
| text-align:center; | |
| font-family:sans-serif;font-size: 1.25rem;} | |
| </style> | |
| ''' | |
| st.markdown(style, unsafe_allow_html=True) | |
| st.markdown('<p style="font-family:sans-serif;font-size: 1.9rem;">Table Question Answering using TAPAS</p>', unsafe_allow_html=True) | |
| st.markdown("<p style='font-family:sans-serif;font-size: 0.9rem;'>Pre-trained TAPAS model runs on max 64 rows and 32 columns data. Make sure the file data doesn't exceed these dimensions.</p>", unsafe_allow_html=True) | |
| tqa = pipeline(task="table-question-answering", | |
| model="google/tapas-large-finetuned-wtq") | |
| # st.sidebar.image("ai-logo.png",width=200) | |
| # with open('data.csv', 'rb') as f: | |
| # st.sidebar.download_button('Download sample data', f, file_name='Sample Data.csv') | |
| file_name = st.sidebar.file_uploader("Upload file:", type=['csv','xlsx']) | |
| if file_name is None: | |
| st.markdown('<p class="font">Please upload an excel or csv file </p>', unsafe_allow_html=True) | |
| # st.image("loader.png") | |
| else: | |
| try: | |
| df=pd.read_csv(file_name) | |
| except: | |
| df = pd.read_excel(file_name) | |
| grid_response = AgGrid( | |
| df.head(5), | |
| columns_auto_size_mode='FIT_CONTENTS', | |
| editable=True, | |
| height=300, | |
| width='100%', | |
| ) | |
| question = st.text_input('Type your question') | |
| df = df.astype(str) | |
| with st.spinner(): | |
| if(st.button('Answer')): | |
| answer = tqa(table=df, query=question,truncation=True) | |
| st.markdown("<p style='font-family:sans-serif;font-size: 0.9rem;'> Results </p>",unsafe_allow_html = True) | |
| st.success(answer) |