File size: 1,230 Bytes
b5ad4c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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}")