Spaces:
Running
Running
import os | |
import streamlit as st | |
from langchain.chat_models import ChatOpenAI | |
from langchain.chains import ConversationChain | |
from langchain.memory import ConversationBufferMemory | |
# Get API key from environment variables | |
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY") | |
# Check if API key is available | |
if not OPENAI_API_KEY: | |
st.error("π API key not found. Please set OPENAI_API_KEY in Space secrets.") | |
st.stop() | |
# Set up the model | |
llm = ChatOpenAI( | |
temperature=0.7, | |
model_name="deepseek/deepseek-chat-v3-0324:free", | |
openai_api_key=OPENAI_API_KEY, # Use the variable here | |
openai_api_base="https://openrouter.ai/api/v1" | |
) | |
# Rest of your chatbot code... | |
if "memory" not in st.session_state: | |
st.session_state.memory = ConversationBufferMemory() | |
conversation = ConversationChain( | |
llm=llm, | |
memory=st.session_state.memory, | |
verbose=False | |
) | |
# Streamlit UI | |
st.set_page_config(page_title="LLM Chatbot", page_icon="π€") | |
st.title("Langchain Chatbot by Muhammad Izhan") | |
user_input = st.text_input("You:", key="input") | |
if user_input: | |
response = conversation.predict(input=user_input) | |
st.session_state.memory.chat_memory.add_user_message(user_input) | |
st.session_state.memory.chat_memory.add_ai_message(response) | |
st.write(f"**Bot:** {response}") | |
if st.checkbox("Show Chat History"): | |
for message in st.session_state.memory.chat_memory.messages: | |
role = "You" if message.type == "human" else "Bot" | |
st.markdown(f"**{role}:** {message.content}") |