| import streamlit as st |
| from llm import load_llm, response_generator |
| from sql import csv_to_sqlite |
|
|
|
|
| |
| repo_id = "Qwen/Qwen2.5-0.5B-Instruct-GGUF" |
| |
| filename = "qwen2.5-0.5b-instruct-q8_0.gguf" |
|
|
| llm = load_llm(repo_id, filename) |
|
|
| st.title("CSV TO SQL") |
|
|
| with st.expander("Upload CSV"): |
| csv_file = st.file_uploader( |
| "CSV", |
| ) |
| db_name = st.text_input("DB Name") |
| table_name = st.text_input("Table Name") |
| if st.button("Save"): |
| if csv_file and db_name and table_name: |
| st.session_state.db_name = db_name |
| st.session_state.table_name = table_name |
|
|
| csv_to_sqlite(csv_file, db_name, table_name) |
| st.write("Saved ✅") |
| else: |
| st.write("Please enter all values") |
|
|
| |
| if "messages" not in st.session_state: |
| st.session_state.messages = [] |
|
|
| |
| for message in st.session_state.messages: |
| with st.chat_message(message["role"]): |
| st.markdown(message["content"]) |
|
|
| |
| if prompt := st.chat_input("What is up?"): |
| |
| st.session_state.messages.append({"role": "user", "content": prompt}) |
| |
| with st.chat_message("user"): |
| st.markdown(prompt) |
|
|
| |
| with st.chat_message("assistant"): |
| response = st.write( |
| response_generator( |
| db_name=st.session_state.db_name, |
| table_name=st.session_state.table_name, |
| llm=llm, |
| messages=st.session_state.messages, |
| question=prompt, |
| ) |
| ) |
| |
| st.session_state.messages.append({"role": "assistant", "content": response}) |
|
|