|
import streamlit as st |
|
|
|
import sys |
|
import os |
|
|
|
|
|
sys.path.append(os.path.dirname(os.path.abspath(__file__))) |
|
|
|
def chatbot_say(message): |
|
with st.chat_message("assistant", avatar="🔮"): |
|
st.markdown(message) |
|
|
|
|
|
st.session_state.chat_history.append(("assistant", message)) |
|
|
|
def run_chatbot(): |
|
from perplexity_api import chat_completion |
|
|
|
|
|
if 'chat_history' not in st.session_state: |
|
st.session_state.chat_history = [] |
|
|
|
|
|
for role, content in st.session_state.chat_history: |
|
with st.chat_message(role): |
|
st.markdown(content) |
|
|
|
|
|
if prompt := st.chat_input("Say something: "): |
|
|
|
with st.chat_message("user"): |
|
st.markdown(prompt) |
|
|
|
|
|
st.session_state.chat_history.append(("user", prompt)) |
|
|
|
info = "none" |
|
if st.session_state.latest: |
|
info = st.session_state.latest |
|
|
|
response = chat_completion(prompt, info, mode="normal") |
|
|
|
|
|
with st.chat_message("assistant", avatar="🔮"): |
|
st.markdown(response) |
|
|
|
|
|
st.session_state.chat_history.append(("assistant", response)) |
|
|
|
|
|
|