Spaces:
Sleeping
Sleeping
File size: 2,963 Bytes
8acbf6e 5b4d076 8acbf6e 28ac775 8acbf6e 2679d8c 8acbf6e d92c6ee 73a1a59 e09ff79 8acbf6e 3b808f0 8acbf6e cf69571 3b808f0 8acbf6e 1d71dd5 8acbf6e 5b4d076 1d71dd5 5b4d076 1d71dd5 2679d8c 1d71dd5 8acbf6e 5b4d076 d92c6ee 1d71dd5 2679d8c 505edcf d92c6ee 505edcf 2679d8c 1d71dd5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
import streamlit as st
import requests
import streamlit as st
import json
siteUrl = "https://aloqas-aloqas-qa-fastapi.hf.space"
userContext = None
context = None
error = 0
with st.sidebar:
st.title("Configuration")
model = st.selectbox('Which model would you like to use?',
('SqueezeBERT', 'BERT', 'DeBERTa-v2'))
contextSelect = st.radio("Pick a context mode:", ["Text", "File"])
if contextSelect == "File":
userContext = st.file_uploader("Pick a file for the context", accept_multiple_files=True)
context = "/uploadfile/"
else:
userContext = st.text_area("write the context")
context = "/contextText/"
st.title("ALOQAS")
"""
bla bla bla
"""
if "messages" not in st.session_state:
st.session_state["messages"] = [
{"role": "assistant", "content": "Hi, I'm ALOQAS. How can I help you?"}
]
if prompt := st.chat_input(placeholder="Write to ALOQAS..."):
st.session_state.messages.append({"role": "user", "content": prompt})
params = {'texte': prompt, "model": model}
if userContext != '' and len(userContext) <= 9000:
if contextSelect == "File" and userContext:
# Préparation de la liste des fichiers pour l'envoi
files = [("file", (file.name, file, file.type)) for file in userContext]
response = requests.post(siteUrl + context, params=params, files=files)
else:
params["context"] = userContext
request_url = f"{siteUrl}/{model.lower()}/?context={userContext}&question={prompt}"
response = requests.post(request_url)
print(response.text)
print(response)
st.session_state.messages.append({"role": "assistant", "content": json.loads(response.text)["answer"]})
elif userContext == '' :
error = 1
else :
error = 2
# st.write("Statut de la requête:", response.status_code)
# st.write("Réponse du serveur:", response.text)
if userContext != '' and len(userContext) <= 9000:
with st.sidebar:
st.title("Statistics on the last answer")
st.write(f"Score: {round(json.loads(response.text)['score'], 3)}")
st.write(f"Start: {json.loads(response.text)['start']}")
st.write(f"End: {json.loads(response.text)['end']}")
for msg in st.session_state.messages:
st.chat_message(msg["role"]).write(msg['content'])
if error == 1:
message_rouge = "⚠️ Please provide a context via the menu on your left."
st.markdown(f'<div style="color: white; background-color: #ff4444; padding: 10px; border-radius: 5px;">{message_rouge}</div>', unsafe_allow_html=True)
error = 0
elif error == 2:
message_rouge = "⚠️ Please provide a context less than 9000 caractere."
st.markdown(f'<div style="color: white; background-color: #ff4444; padding: 10px; border-radius: 5px;">{message_rouge}</div>', unsafe_allow_html=True)
error = 0
|