SQL-Chatbot / app.py
DhruvDecoder's picture
Update app.py
38353b2 verified
import streamlit as st
from vanna.remote import VannaDefault
import os
# Set your Vanna API key
api_key = os.environ.get("VANNA_API_KEY")
vanna_model_name = 'chinook' # Assuming 'chinook' is your model name
# Initialize Vanna
vn = VannaDefault(model=vanna_model_name, api_key=api_key)
vn.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')
my_question = st.session_state.get("my_question", default=None)
if my_question is None:
st.image("chinook.png", use_column_width=True)
my_question = st.text_input("Ask me a question that I can turn into SQL", key="my_question")
else:
st.title(my_question)
sql = vn.generate_sql(my_question)
st.code(sql, language='sql')
df = vn.run_sql(sql)
st.dataframe(df, use_container_width=True)
fig = vn.get_plotly_figure(plotly_code=vn.generate_plotly_code(question=my_question, sql=sql, df=df), df=df)
st.plotly_chart(fig, use_container_width=True)
st.button("Ask another question", on_click=lambda: st.session_state.clear())