Spaces:
Runtime error
Runtime error
import streamlit as st | |
import openai | |
st.title("ChatGPT-Streamlit") | |
if 'dialogues' not in st.session_state: | |
st.session_state['dialogues'] = [] | |
def set_api_key(): | |
openai.api_key = st.session_state.api_key | |
st.text_input('Enter your OpenAI API key', type='password', key='api_key', on_change=set_api_key) | |
def get_response(): | |
st.session_state.dialogues.append({'role': 'user', 'content': st.session_state.prompt}) | |
st.session_state.prompt = '' | |
try: | |
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=st.session_state.dialogues) | |
content = completion.choices[0].message.content | |
except: | |
content = 'Please enter your OpenAI API key!' | |
st.session_state.dialogues.append({'role': 'assistant', 'content': content}) | |
return content | |
def clear(): | |
st.session_state.dialogues = [] | |
st.text_area('Press ctrl+enter or click blank space to send message', on_change=get_response, key='prompt') | |
st.button('Start a new chat', on_click=clear) | |
for message in reversed(st.session_state.dialogues): | |
st.subheader('ChatGPT' if message['role'] == 'assistant' else 'You') | |
st.write(message['content']) | |