Chatbot2.0 / app.py
CodeNine's picture
Update app.py
0859b7e verified
raw
history blame
1.34 kB
# app.py
import os
import openai
import streamlit as st
# Load API key from environment variable
client = openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# Page setup
st.set_page_config(page_title="OpenAI Chatbot", layout="centered")
st.title("🤖 OpenAI Chatbot")
st.markdown("Talk to GPT-4 using OpenAI's latest API.")
# Initialize chat history
if "messages" not in st.session_state:
st.session_state.messages = [
{"role": "system", "content": "You are a helpful assistant."}
]
# Show chat history
for msg in st.session_state.messages[1:]:
with st.chat_message(msg["role"]):
st.markdown(msg["content"])
# User input
if prompt := st.chat_input("Type your message..."):
# Show user message
st.chat_message("user").markdown(prompt)
st.session_state.messages.append({"role": "user", "content": prompt})
try:
# Call OpenAI's chat model using v1.x API
response = client.chat.completions.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:
st.error(f"Error: {e}")