Upload devoir.py
Browse files
devoir.py
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import requests
|
3 |
+
|
4 |
+
API_URL_BART = "https://api-inference.huggingface.co/models/chinhon/bart-large-cnn-summarizer_03"
|
5 |
+
API_URL_TRANSLATION = "https://api-inference.huggingface.co/models/FacebookAI/xlm-mlm-enfr-1024"
|
6 |
+
API_URL_DIALOGPT = "https://api-inference.huggingface.co/models/Mohammed-Altaf/Medical-ChatBot"
|
7 |
+
HEADERS = {"Authorization": f"Bearer {huggingface_token}"}
|
8 |
+
|
9 |
+
def query(api_url, payload):
|
10 |
+
response = requests.post(api_url, headers=HEADERS, json=payload)
|
11 |
+
return response.json()
|
12 |
+
|
13 |
+
def main():
|
14 |
+
st.title("Application NLP")
|
15 |
+
|
16 |
+
# Sidebar pour la navigation entre les modèles
|
17 |
+
st.sidebar.image("Keyce.jpg")
|
18 |
+
st.write("FOSSO TCHATAT SIDOINE")
|
19 |
+
model_selection = st.sidebar.selectbox("Sélectionnez le modèle", ["BART Summarization", "Translation (fr->en)", "Conversation (BlenderBot-400M)"])
|
20 |
+
|
21 |
+
if model_selection == "BART Summarization":
|
22 |
+
|
23 |
+
st.subheader("BART Summarization")
|
24 |
+
st.image("resume.jpg")
|
25 |
+
# Interface utilisateur pour l'entrée de l'utilisateur
|
26 |
+
user_input_bart = st.text_area("Entrez le texte :")
|
27 |
+
|
28 |
+
if st.button("Resumer avec BART"):
|
29 |
+
# Faites appel au modèle de résumé BART
|
30 |
+
payload_bart = {"inputs": user_input_bart}
|
31 |
+
result_bart = query(API_URL_BART, payload_bart)
|
32 |
+
|
33 |
+
# Affichez le résumé
|
34 |
+
st.subheader("Résumé:")
|
35 |
+
st.write(result_bart[0]["generated_text"])
|
36 |
+
|
37 |
+
elif model_selection == "Translation (fr->en)":
|
38 |
+
|
39 |
+
st.subheader("Translation (fr->en)")
|
40 |
+
st.image("TRANSLATE.jpg")
|
41 |
+
|
42 |
+
# Interface utilisateur pour l'entrée de l'utilisateur
|
43 |
+
user_input_translation = st.text_area("Entrez le texte que vous souhaitez traduire:")
|
44 |
+
|
45 |
+
if st.button("🌐 Translate"):
|
46 |
+
# Faites appel au modèle de traduction fr->en
|
47 |
+
payload_translation = {"inputs": user_input_translation}
|
48 |
+
result_translation = query(API_URL_TRANSLATION, payload_translation)
|
49 |
+
#print(result_translation)
|
50 |
+
# Vérifiez si la clé "translation_text" existe dans la réponse
|
51 |
+
|
52 |
+
st.subheader("Traduction:")
|
53 |
+
st.write(result_translation[0]["translation_text"])
|
54 |
+
|
55 |
+
elif model_selection == "Conversation (BlenderBot-400M)":
|
56 |
+
st.subheader("Conversation with BlenderBot-400M")
|
57 |
+
|
58 |
+
# Interface utilisateur pour l'entrée de l'utilisateur
|
59 |
+
user_input_blenderbot = st.text_area("Entrez votre message à BlenderBot-400M:")
|
60 |
+
|
61 |
+
if st.button("Obtenir la réponse de BlenderBot-400M"):
|
62 |
+
# Faites appel au modèle BlenderBot-400M
|
63 |
+
payload_blenderbot = {
|
64 |
+
"inputs": {
|
65 |
+
"past_user_inputs": ["Which movie is the best ?"],
|
66 |
+
"generated_responses": ["It is Die Hard for sure."],
|
67 |
+
"text": user_input_blenderbot
|
68 |
+
}
|
69 |
+
}
|
70 |
+
result_blenderbot = query(API_URL_DIALOGPT, payload_blenderbot)
|
71 |
+
|
72 |
+
# Affichez la conversation de manière plus visuelle
|
73 |
+
st.subheader("Conversation avec BlenderBot-400M:")
|
74 |
+
|
75 |
+
# Vérifiez si la clé 'choices' existe dans la réponse
|
76 |
+
if "choices" in result_blenderbot and result_blenderbot["choices"]:
|
77 |
+
# Afficher les messages précédents
|
78 |
+
for i, past_message in enumerate(result_blenderbot["choices"][-1]["message"]["past_user_inputs"]):
|
79 |
+
st.write(f"BlenderBot-400M:")
|
80 |
+
st.write(f"> {past_message}")
|
81 |
+
|
82 |
+
# Afficher le dernier message de l'utilisateur
|
83 |
+
st.write("Vous:")
|
84 |
+
st.write(f"> {user_input_blenderbot}")
|
85 |
+
|
86 |
+
# Afficher la réponse de BlenderBot-400M
|
87 |
+
st.write(f"BlenderBot-400M:")
|
88 |
+
st.write(f"> {result_blenderbot['choices'][-1]['message']['content']}")
|
89 |
+
else:
|
90 |
+
st.warning("La clé 'choices' n'existe pas dans la réponse de l'API ou la liste est vide.")
|
91 |
+
|
92 |
+
if __name__ == "__main__":
|
93 |
+
main()
|