Update app.py
Browse files
app.py
CHANGED
@@ -1,34 +1,42 @@
|
|
1 |
import streamlit as st
|
2 |
from dotenv import load_dotenv
|
3 |
-
from langchain_openai import ChatOpenAI
|
4 |
import os
|
|
|
|
|
|
|
5 |
load_dotenv("apiroute.env")
|
6 |
-
api_key=os.getenv("OPENAI_API_KEY")
|
7 |
-
api_base=os.getenv("OPENAI_API_BASE")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
-
|
10 |
-
# Streamlit UI
|
11 |
st.set_page_config(page_title="Chatbot", layout="centered")
|
12 |
-
st.title("💬 Chat with
|
|
|
13 |
|
14 |
-
# Chat history session state
|
15 |
if "history" not in st.session_state:
|
16 |
st.session_state.history = []
|
17 |
|
18 |
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
21 |
|
22 |
-
# Handle input
|
23 |
if user_input:
|
24 |
-
# Add user message to history
|
25 |
st.session_state.history.append(("You", user_input))
|
26 |
-
|
27 |
-
# Get response from the model
|
28 |
response = llm.invoke(user_input)
|
29 |
-
|
30 |
-
# Add bot response to history
|
31 |
st.session_state.history.append(("Bot", response.content))
|
32 |
-
|
33 |
-
# Clear the input box after submission
|
34 |
-
st.experimental_rerun()
|
|
|
1 |
import streamlit as st
|
2 |
from dotenv import load_dotenv
|
|
|
3 |
import os
|
4 |
+
from langchain_openai import ChatOpenAI
|
5 |
+
|
6 |
+
# Load environment variables
|
7 |
load_dotenv("apiroute.env")
|
8 |
+
api_key = os.getenv("OPENAI_API_KEY")
|
9 |
+
api_base = os.getenv("OPENAI_API_BASE")
|
10 |
+
|
11 |
+
# Ensure they exist
|
12 |
+
if not api_key or not api_base:
|
13 |
+
st.error("❌ Missing API credentials in apiroute.env.")
|
14 |
+
st.stop()
|
15 |
+
|
16 |
+
# Set for LangChain/OpenAI use
|
17 |
+
os.environ["OPENAI_API_KEY"] = api_key
|
18 |
+
os.environ["OPENAI_API_BASE"] = api_base
|
19 |
+
|
20 |
+
# Initialize LLM
|
21 |
+
llm = ChatOpenAI(model_name="google/gemma-3n-e2b-it:free", temperature=0.7)
|
22 |
|
23 |
+
# Streamlit setup
|
|
|
24 |
st.set_page_config(page_title="Chatbot", layout="centered")
|
25 |
+
st.title("💬 Chat with LLM")
|
26 |
+
|
27 |
|
|
|
28 |
if "history" not in st.session_state:
|
29 |
st.session_state.history = []
|
30 |
|
31 |
|
32 |
+
for sender, msg in st.session_state.history:
|
33 |
+
st.markdown(f"**{sender}:** {msg}")
|
34 |
+
|
35 |
+
user_input = st.text_input("Type your message and press Enter", key="input")
|
36 |
+
|
37 |
|
|
|
38 |
if user_input:
|
|
|
39 |
st.session_state.history.append(("You", user_input))
|
|
|
|
|
40 |
response = llm.invoke(user_input)
|
|
|
|
|
41 |
st.session_state.history.append(("Bot", response.content))
|
42 |
+
st.experimental_rerun() # force UI refresh
|
|
|
|