Spaces:
Sleeping
Sleeping
import streamlit as st | |
import replicate | |
import streamlit_chat | |
st.title("Ayoye, c'est bien hot ça!!") | |
# Initialisation d'une liste pour stocker les messages | |
if 'messages' not in st.session_state: | |
st.session_state['messages'] = [] | |
# Conteneur unique pour le chat complet | |
with st.container(): | |
# Formulaire pour entrer une question | |
with st.form("chat_input"): | |
user_input = st.text_input("Entrez votre question ici:", "") | |
submitted = st.form_submit_button("Envoyer") | |
if submitted and user_input: | |
# Ajout de la question de l'utilisateur | |
st.session_state['messages'].append({"type": "user", "message": user_input}) | |
# Génération de la réponse via le modèle Replicate | |
output = replicate.run( | |
"meta/meta-llama-3-8b-instruct", | |
input={ | |
"top_p": 0.9, | |
"prompt": user_input, | |
"max_tokens": 2334, | |
"min_tokens": 40, | |
"temperature": 0.3, | |
"prompt_template": "system\n\nYou are a helpful assistantuser\n\n{prompt}assistant\n\n", | |
"presence_penalty": 0, | |
"frequency_penalty": 0 | |
} | |
) | |
# Ajout de la réponse du modèle | |
st.session_state['messages'].append({"type": "bot", "message": output}) | |
# Affichage des messages précédents dans des "chat messages" | |
for msg in st.session_state['messages']: | |
if msg["type"] == "user": | |
with st.chat_message("user"): | |
st.write(msg["message"]) | |
else: | |
with st.chat_message("bot"): | |
st.write(msg["message"]) | |
# Formatage de la sortie pour assurer que c'est un texte simple | |
response_text = output["choices"][0]["message"] if "choices" in output else "Désolé, je ne peux pas traiter votre demande." | |
# Ajout de la réponse du modèle | |
st.session_state['messages'].append(f"Bot: {response_text}") | |
# Affichage des messages précédents dans le même conteneur | |
for msg in st.session_state['messages']: | |
st.text(msg) | |