| |
|
|
| import os |
|
|
| import openai |
| import requests |
| import streamlit as st |
|
|
| from utils.util import * |
|
|
| from langchain.memory import ConversationBufferMemory |
|
|
| SAVE_DIR = "uploaded_files" |
| os.makedirs(SAVE_DIR, exist_ok=True) |
|
|
|
|
| def init_session_state(): |
| if "openai_api_key" not in st.session_state: |
| st.session_state.openai_api_key = "" |
|
|
| if "uploaded_files" not in st.session_state: |
| st.session_state.uploaded_files = os.listdir(SAVE_DIR) |
|
|
|
|
| init_session_state() |
|
|
| st.set_page_config(page_title="RegBotBeta", page_icon="📜🤖") |
|
|
| st.title("Welcome to RegBotBeta2.0") |
| st.header("Powered by `LlamaIndex🦙`, `Langchain🦜🔗 ` and `OpenAI API`") |
|
|
|
|
| def init_session_state(): |
| if "huggingface_token" not in st.session_state: |
| st.session_state.huggingface_token = "" |
|
|
|
|
| init_session_state() |
|
|
| uploaded_files = st.file_uploader( |
| "Upload Files", |
| accept_multiple_files=True, |
| type=["pdf", "docx", "txt", "csv"], |
| ) |
|
|
| if uploaded_files: |
| for file in uploaded_files: |
| if file not in st.session_state.uploaded_files: |
| |
| st.session_state.uploaded_files.append(file.name) |
|
|
| |
| with open(os.path.join(SAVE_DIR, file.name), "wb") as f: |
| f.write(file.getbuffer()) |
|
|
| st.success("File(s) uploaded successfully!") |
|
|
| if st.session_state.uploaded_files: |
| st.write("Uploaded Files:") |
| for i, filename in enumerate(st.session_state.uploaded_files, start=1): |
| st.write(f"{i}. {filename}") |
|
|