Vue d'ensemble
Streamlit 1.22, publié le 20 avril 2023, stabilise l'API st.chat pour les interfaces de conversation.
Fonctionnalités principales
st.chat stable
Les composants st.chat_message et st.chat_input sortent de la phase expérimentale avec une API stable et des performances améliorées.
python
import streamlit as st
if 'messages' not in st.session_state:
st.session_state.messages = []
for msg in st.session_state.messages:
with st.chat_message(msg['role']):
st.write(msg['content'])
if prompt := st.chat_input('Message'):
st.session_state.messages.append(
{'role': 'user', 'content': prompt}
)
with st.chat_message('user'):
st.write(prompt)
Améliorations de performance
Le rendu des composants de chat est optimisé pour gérer des historiques de conversation longs sans ralentissement de l'interface.
python
import streamlit as st
# Streaming de la réponse
def generer_reponse(prompt):
for mot in f'Réponse à : {prompt}'.split():
yield mot + ' '
if prompt := st.chat_input('Question'):
with st.chat_message('assistant'):
st.write_stream(generer_reponse(prompt))
