Sidoine commited on
Commit
5f16de5
·
verified ·
1 Parent(s): 93a53e0

Upload devoir.py

Browse files
Files changed (1) hide show
  1. devoir.py +93 -0
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()