alex-abb commited on
Commit
5b4c169
·
verified ·
1 Parent(s): 93cf501

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -25
app.py CHANGED
@@ -1,38 +1,50 @@
1
- import requests
2
  import gradio as gr
3
- import spaces
4
- import os
5
-
6
 
 
 
7
  api_token = os.environ.get("TOKEN")
8
-
9
-
10
- API_URL = "https://api-inference.huggingface.co/models/meta-llama/Meta-llama-3-8B-Instruct"
11
  headers = {"Authorization": f"Bearer {api_token}"}
12
 
13
-
14
  def query(payload):
15
  response = requests.post(API_URL, headers=headers, json=payload)
16
  return response.json()
17
 
18
- def detect_sentiment(message):
19
- prompt = f"Détecte le sentiment de ce message. Réponds par 'positif' ou 'négatif' :\nMessage : \"{message}\""
 
 
 
20
  response = query({"inputs": prompt})
21
- sentiment = response[].['generated_text'].strip().lower()
22
- return sentiment
23
-
24
- def sentiment_analysis_interface(message):
25
- sentiment = detect_sentiment(message)
26
- return sentiment
27
-
28
- # Créer l'interface Gradio
29
- iface = gr.Interface(
30
- fn=sentiment_analysis_interface,
31
- inputs="text",
32
- outputs="text",
33
- title="Détection de Sentiment",
34
- description="Entrez un message pour détecter si le sentiment est positif ou négatif.",
 
 
 
 
 
 
 
 
 
 
 
 
35
  )
36
 
37
- # Lancer l'interface
38
  iface.launch()
 
 
1
  import gradio as gr
2
+ import requests
3
+ import os
4
+ import random
5
 
6
+ # Configuration de l'API
7
+ API_URL = "https://api-inference.huggingface.co/models/gpt2"
8
  api_token = os.environ.get("TOKEN")
 
 
 
9
  headers = {"Authorization": f"Bearer {api_token}"}
10
 
 
11
  def query(payload):
12
  response = requests.post(API_URL, headers=headers, json=payload)
13
  return response.json()
14
 
15
+ def generate_yes_no_response(question):
16
+ # Créez un prompt qui demande explicitement une réponse Oui/Non
17
+ prompt = f"Réponds par 'Oui' ou 'Non' à la question suivante : {question}"
18
+
19
+ # Faites la requête à l'API
20
  response = query({"inputs": prompt})
21
+
22
+ # Extrayez le texte de la réponse
23
+ if isinstance(response, list) and len(response) > 0:
24
+ full_response = response[0].get('generated_text', '')
25
+ else:
26
+ full_response = str(response) # Fallback si la réponse n'est pas comme prévu
27
+
28
+ # Analysez la réponse pour extraire Oui ou Non
29
+ if "oui" in full_response.lower():
30
+ return "Oui"
31
+ elif "non" in full_response.lower():
32
+ return "Non"
33
+ else:
34
+ # Si la réponse n'est ni oui ni non, choisissez aléatoirement
35
+ return random.choice(["Oui", "Non"])
36
+
37
+ # Fonction pour l'interface Gradio
38
+ def chatbot(message, history):
39
+ response = generate_yes_no_response(message)
40
+ return response
41
+
42
+ # Création de l'interface Gradio
43
+ iface = gr.ChatInterface(
44
+ fn=chatbot,
45
+ title="Chatbot Oui/Non",
46
+ description="Posez une question, et je répondrai par Oui ou Non."
47
  )
48
 
49
+ # Lancement de l'interface
50
  iface.launch()