Spaces:
Runtime error
Runtime error
File size: 1,167 Bytes
545d507 95da7d8 545d507 |
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 |
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'])
|