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}")