prashver's picture
Update app.py
52fcaa0 verified
from langchain.schema import HumanMessage, SystemMessage, AIMessage
from langchain_community.chat_models import ChatOpenAI
import os
import streamlit as st
st.set_page_config(page_title="Conversational Chatbot", page_icon="πŸ’¬")
st.title("πŸ’¬ A Langchain Chatbot")
st.caption("πŸš€ A chatbot powered by OpenAI LLM")
# Set your OpenAI API key here
#os.environ["OPENAI_API_KEY"] = "your_api_key"
# User input OpenAI API key
api_key = st.sidebar.text_input("Enter OpenAI API Key:", key="api_key", type="password")
chat = None # Define chat object
if api_key: # Check if API key is provided
chat = ChatOpenAI(api_key=api_key, temperature=0.5) # Create ChatOpenAI instance
if 'messages' not in st.session_state:
st.session_state['messages'] = [
SystemMessage(content="Hello, I am a chatbot to help you with your queries. How can I help you !?")
]
st.write(st.session_state['messages'][0].content)
def get_openai_response(query):
st.session_state['messages'].append(HumanMessage(content=query))
answer = chat(st.session_state['messages'])
st.session_state['messages'].append(AIMessage(content=answer.content))
return answer.content
description = "Enter your query here..."
input_text = st.text_input("Input: ", value="", key="input", placeholder=description)
if st.button("Submit"):
if chat is None:
st.warning("Please input your OpenAI API key.")
elif not input_text.strip():
st.warning("Please enter a query.")
else:
try:
with st.spinner('Generating...'):
response = get_openai_response(input_text)
st.write(response)
except Exception as e:
st.error("Please enter a valid OpenAI API key.")