Spaces:
Sleeping
Sleeping
import streamlit as st | |
import openai | |
import os | |
# Set the OpenAI API key from Hugging Face Secrets | |
openai.api_key = os.getenv('API_KEY') | |
st.title("ChatGPT-powered Chatbot") | |
# Initialize session state to store the conversation | |
if 'messages' not in st.session_state: | |
st.session_state.messages = [] | |
# Display previous messages | |
for message in st.session_state.messages: | |
st.write(f"**{message['role'].capitalize()}:** {message['content']}") | |
# Input for user message | |
user_input = st.text_input("You:", "") | |
if user_input: | |
# Add user message to session state | |
st.session_state.messages.append({"role": "user", "content": user_input}) | |
# Prepare messages for API call | |
messages = [{"role": msg["role"], "content": msg["content"]} for msg in st.session_state.messages] | |
# Call OpenAI API | |
response = openai.ChatCompletion.create( | |
model="gpt-3.5-turbo", | |
messages=messages | |
) | |
# Get assistant's reply | |
assistant_reply = response['choices'][0]['message']['content'] | |
# Add assistant's reply to session state | |
st.session_state.messages.append({"role": "assistant", "content": assistant_reply}) | |
# Display assistant's reply | |
st.write(f"**Assistant:** {assistant_reply}") | |