alex-abb's picture
Update app.py
e0eb907 verified
raw
history blame
1.24 kB
import os
import requests
import spaces
import gradio as gr
import re
api_token = os.environ.get("TOKEN")
API_URL = "https://api-inference.huggingface.co/models/meta-llama/Meta-Llama-3-8B-Instruct"
headers = {"Authorization": f"Bearer {api_token}"}
@spaces.GPU
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
def analyze_sentiment(text):
prompt = f"Tu es un analyseur de sentiment. Ton rôle est d'évaluer le sentiment général du texte fourni. Réponds uniquement par 'positif' ou 'négatif'. N'ajoute aucune explication. Voici le texte à analyser : {text}"
output = query({
"inputs": prompt,
})
if isinstance(output, list) and len(output) > 0:
response = output[0].get('generated_text', '')
# Chercher 'positif' ou 'négatif' dans la réponse
sentiment = re.search(r'\b(positif|négatif)\b', response.lower())
if sentiment:
return sentiment.group()
else:
return "Sentiment non détecté"
else:
return "Erreur: Réponse inattendue de l'API"
demo = gr.Interface(
fn = analyze_sentiment,
inputs=["text"],
outputs=["text"],
)
demo.launch()