ExcelAgent / app.py
AtikinNT's picture
example on fake dataframe
a2297eb
Raw
History Blame Contribute Delete
2.09 kB
import streamlit as st
import pandas as pd
from data import df
import agent
st.title("Excel Agent")
st.dataframe(df, use_container_width=True)
# Initialize chat history
if "messages" not in st.session_state:
st.session_state.messages = []
# Display chat messages from history on app rerun
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
# React to user input
if prompt := st.chat_input("Как я могу вам помочь?"):
# Display user message in chat message container
with st.chat_message("user"):
st.markdown(prompt)
# Add user message to chat history
st.session_state.messages.append({"role": "user", "content": prompt})
if prompt:
response = agent.run(prompt)
# Display assistant response in chat message container
with st.chat_message("assistant"):
print(type(response))
if type(response) is pd.Series or type(response) is pd.DataFrame:
st.dataframe(response)
else:
st.markdown(response)
# Add assistant response to chat history
st.session_state.messages.append({"role": "assistant", "content": response})
with st.sidebar:
st.title('Примеры запросов')
st.write('1) Найди ГОСБ, который встречается чаще всего в таблице.')
st.write('2) Сгруппируй по полю ГОСБ и выведи средние значения по значениям ГОСБ по колонке Пройденных курсов.')
st.write('3) Сколько в среднем курсов не прошло в разрезе подразделений банка?')
st.write('4) Сделай сравнительную статистику по пройденным курсам за 21 и 22 год')
def clear_chat_history():
st.session_state.messages = [{"role": "assistant", "content": "Как я могу вам помочь?"}]
st.sidebar.button('Очистить историю чата', on_click=clear_chat_history)