RustX/CSV-ChatBot
1
1import streamlit as st2 3 4class Sidebar:5 MODEL_OPTIONS = ["gpt-3.5-turbo", "gpt-4"]6 TEMPERATURE_MIN_VALUE = 0.07 TEMPERATURE_MAX_VALUE = 1.08 TEMPERATURE_DEFAULT_VALUE = 0.09 TEMPERATURE_STEP = 0.0110 11 @staticmethod12 def about():13 about = st.sidebar.expander("π€μ λν")14 sections = [15 "#### CSV-ChatBotλ μ¬μ©μκ° λ³΄λ€ μ§κ΄μ μΈ λ°©μμΌλ‘ CSV λ°μ΄ν°λ₯Ό λ
Όμν μ μλλ‘ μ€κ³λ λνν λ©λͺ¨λ¦¬ κΈ°λ₯μ κ°μΆ AI μ±λ΄μ
λλ€. π",16 "#### κ·Έλ λκ·λͺ¨ μΈμ΄ λͺ¨λΈμ μ¬μ©νμ¬ CSV λ°μ΄ν°λ₯Ό λ μ μ΄ν΄ν μ μλλ‘ μννκ³ μν©μ λ§λ μμ°μ΄ μνΈ μμ©μ μ¬μ©μμκ² μ 곡ν©λλ€. π",17 "#### [Langchain](https://github.com/hwchase17/langchain), [OpenAI](https://platform.openai.com/docs/models/gpt-3-5) λ° [Streamlit](https://github.com/streamlit/streamlit)μ μν΄ κ΅¬λλ©λλ€ β‘",18 "#### Source code : [RustX/ChatBot-CSV](https://github.com/RustX2802/CSV-ChatBot)",19 ]20 for section in sections:21 about.write(section)22 23 @staticmethod24 def reset_chat_button():25 if st.button("Reset chat / μ±ν
μ¬μ€μ "):26 st.session_state["reset_chat"] = True27 st.session_state.setdefault("reset_chat", False)28 29 def model_selector(self):30 model = st.selectbox(label="Model / λͺ¨λΈ", options=self.MODEL_OPTIONS)31 st.session_state["model"] = model32 33 def temperature_slider(self):34 temperature = st.slider(35 label="Temperature / μ¨λ",36 min_value=self.TEMPERATURE_MIN_VALUE,37 max_value=self.TEMPERATURE_MAX_VALUE,38 value=self.TEMPERATURE_DEFAULT_VALUE,39 step=self.TEMPERATURE_STEP,40 )41 st.session_state["temperature"] = temperature42 43 def csv_agent_button(self):44 st.session_state.setdefault("show_csv_agent", False)45 if st.sidebar.button("CSV Agent"):46 st.session_state["show_csv_agent"] = not st.session_state["show_csv_agent"]47 48 def show_options(self):49 with st.sidebar.expander("π οΈ Tools / λꡬ", expanded=False):50 self.reset_chat_button()51 self.csv_agent_button()52 self.model_selector()53 self.temperature_slider()54 st.session_state.setdefault("model", self.MODEL_OPTIONS[0])55 st.session_state.setdefault("temperature", self.TEMPERATURE_DEFAULT_VALUE)