chatbot_seoul / app.py
pycodinglec2's picture
Update app.py
f58fecf
import streamlit as st
import openai
def main():
st.title("GPT-3.5 ์ฑ—๋ด‡")
# User API key input
api_key = st.text_input("๋ฐœ๊ธ‰๋ฐ›์€ OpenAI API Key๋ฅผ ์—ฌ๊ธฐ์— ์ž…๋ ฅ:")
if api_key:
openai.api_key = api_key
init_msgs = [{"role": "system", "content": "You are a helpful assistant."}]
if st.button("๋Œ€ํ™” ๊ธฐ๋ก ์‚ญ์ œ"):
st.session_state['messages'] = init_msgs
# Initialize Session State for messages
if 'messages' not in st.session_state:
st.session_state['messages'] = init_msgs
user_input = st.text_area("ํ”„๋กฌํ”„ํŠธ:", height=200)
submit_button = st.button("์ž‘์„ฑ ์™„๋ฃŒ")
conversation = st.empty()
if submit_button:
if user_input:
st.session_state.messages.append({"role": "user", "content": user_input})
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=st.session_state.messages
)
new_msg = {"role": "assistant",
"content": response['choices'][0]['message']['content']}
st.session_state.messages.append(new_msg)
for message in st.session_state.messages:
if message["role"] == "user":
conversation.write(f"User: {message['content']}")
else:
conversation.write(f"Assistant: {message['content']}")
else:
st.write("์œ ํšจํ•œ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜์„ธ์š”.")
else:
st.warning("์œ ํšจํ•œ OpenAI API Key๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.")
if __name__ == "__main__":
main()