Chatbot2.0 / app.py
CodeNine's picture
Update app.py
8a6a99a verified
raw
history blame
1.49 kB
# app.py
import os
import openai
import streamlit as st
# Load OpenAI API key from Hugging Face Secrets
openai.api_key = os.getenv("OPENAI_API_KEY")
# Set Streamlit page config
st.set_page_config(page_title="OpenAI Chatbot", layout="centered")
st.title("💬 OpenAI Chatbot")
st.markdown("Talk with GPT-4 using OpenAI API.")
# Initialize chat history
if "messages" not in st.session_state:
st.session_state.messages = [
{"role": "system", "content": "You are a helpful assistant."}
]
# Display previous messages
for msg in st.session_state.messages[1:]:
if msg["role"] == "user":
st.chat_message("user").markdown(msg["content"])
elif msg["role"] == "assistant":
st.chat_message("assistant").markdown(msg["content"])
# Chat input
if prompt := st.chat_input("Say something..."):
st.chat_message("user").markdown(prompt)
st.session_state.messages.append({"role": "user", "content": prompt})
try:
# Get response from OpenAI
response = openai.ChatCompletion.create(
model="gpt-4", # or "gpt-3.5-turbo"
messages=st.session_state.messages,
temperature=0.7,
)
reply = response.choices[0].message["content"]
st.chat_message("assistant").markdown(reply)
st.session_state.messages.append({"role": "assistant", "content": reply})
except Exception as e:
error_msg = f"❌ Error: {str(e)}"
st.chat_message("assistant").markdown(error_msg)