Skip to content

Instantly share code, notes, and snippets.

@GTimothee
Created June 7, 2024 14:02
Show Gist options
  • Save GTimothee/4ed7a81df80f7412e8e5983bb8d3a581 to your computer and use it in GitHub Desktop.
Save GTimothee/4ed7a81df80f7412e8e5983bb8d3a581 to your computer and use it in GitHub Desktop.
encapsulated chat app with streamlit
import streamlit as st
if 'messages' not in st.session_state:
st.session_state['messages'] = [{
'role': 'assistant', 'content': "Do you have a question for me ?"
}]
with st.container(height=500):
for msg in st.session_state['messages']:
with st.chat_message(msg['role']):
st.write(msg['content'])
prompt = st.chat_input("Ask a question")
if prompt:
print(f"prompt: {prompt}")
st.session_state['messages'].append({
'role': 'user', 'content': prompt
})
st.rerun()
if st.session_state['messages'][-1]['role'] == 'user':
st.session_state['messages'].append({
'role': 'assistant', 'content': 'user said: ' + st.session_state['messages'][-1]['content']
})
st.rerun()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment