chat / Chatbot.py
maojun2022's picture
Upload 15 files
1cd5913
Raw
History Blame Contribute Delete
1.35 kB
from openai import OpenAI
import streamlit as st
import warnings
st.set_page_config(page_title="NBsTem", page_icon="images/logo.ico", layout="wide", initial_sidebar_state="collapsed", # centered,wide auto,expanded,collapsed
menu_items={'About': "*NBsTem v1.0* β€”β€” A web server for Nanobody Thermostability Prediction."})
warnings.filterwarnings("ignore")
openai_api_key = "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"
st.title("πŸ’¬ Chatbot")
st.caption("πŸš€ A streamlit chatbot powered by OpenAI LLM")
if "messages" not in st.session_state:
st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
for msg in st.session_state.messages:
st.chat_message(msg["role"]).write(msg["content"])
if prompt := st.chat_input():
if not openai_api_key:
st.info("Please add your OpenAI API key to continue.")
st.stop()
client = OpenAI(api_key=openai_api_key)
st.session_state.messages.append({"role": "user", "content": prompt})
st.chat_message("user").write(prompt)
response = client.chat.completions.create(model="gpt-3.5-turbo", messages=st.session_state.messages) #gpt-3.5-turbo
msg = response.choices[0].message.content
st.session_state.messages.append({"role": "assistant", "content": msg})
st.chat_message("assistant").write(msg)