alex-abb's picture
Update app.py
5b4c169 verified
raw
history blame
1.55 kB
import gradio as gr
import requests
import os
import random
# Configuration de l'API
API_URL = "https://api-inference.huggingface.co/models/gpt2"
api_token = os.environ.get("TOKEN")
headers = {"Authorization": f"Bearer {api_token}"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
def generate_yes_no_response(question):
# Créez un prompt qui demande explicitement une réponse Oui/Non
prompt = f"Réponds par 'Oui' ou 'Non' à la question suivante : {question}"
# Faites la requête à l'API
response = query({"inputs": prompt})
# Extrayez le texte de la réponse
if isinstance(response, list) and len(response) > 0:
full_response = response[0].get('generated_text', '')
else:
full_response = str(response) # Fallback si la réponse n'est pas comme prévu
# Analysez la réponse pour extraire Oui ou Non
if "oui" in full_response.lower():
return "Oui"
elif "non" in full_response.lower():
return "Non"
else:
# Si la réponse n'est ni oui ni non, choisissez aléatoirement
return random.choice(["Oui", "Non"])
# Fonction pour l'interface Gradio
def chatbot(message, history):
response = generate_yes_no_response(message)
return response
# Création de l'interface Gradio
iface = gr.ChatInterface(
fn=chatbot,
title="Chatbot Oui/Non",
description="Posez une question, et je répondrai par Oui ou Non."
)
# Lancement de l'interface
iface.launch()