llama3_bourgi / app.py
Bourgi82
fist
36c42b2
from transformers import pipeline
from datetime import datetime
# Charger le pipeline de génération de texte avec le modèle Llama
# Use a pipeline as a high-level helper
pipe = pipeline("text-generation", model="benjleite/t5-french-qa")
# Fonction pour obtenir une réponse avec le modèle
def get_llama_response(question: str) -> str:
current_date = datetime.now().strftime('%Y-%m-%d')
prompt = (
"Tu es un assistant francophone expert. "
f"\nNous sommes le {current_date}."
"\nRéponds avec concision et précision, en adoptant un ton professionnel. "
"Évite les phrases inutiles et n'invente rien si les données ne sont pas disponibles. "
f"\nQuestion: {question}"
)
# Utilisation du pipeline pour générer une réponse
response = pipe(prompt, max_length=200, num_return_sequences=1)
# La réponse générée est dans le champ 'generated_text' de la sortie
return response[0]['generated_text']
# Fonction qui orchestre la réponse du chatbot en utilisant la question
def chatbot_respond(message):
response = get_llama_response(message)
return "", [(message, response)]
# Création de l'interface Gradio
with gr.Blocks() as demo:
gr.Markdown("## Chatbot d'analyse de performance réseau")
# Composant affichant l'historique de la conversation
chatbot_display = gr.Chatbot(label="Conversation")
# Champ de saisie pour la question utilisateur
message_input = gr.Textbox(label="Votre question", placeholder="Tapez votre question ici...", lines=1)
# Bouton pour envoyer la question
send_btn = gr.Button("Envoyer")
# Liaison du bouton à la fonction chatbot_respond
send_btn.click(
fn=chatbot_respond,
inputs=message_input,
outputs=[message_input, chatbot_display],
api_name="chatbot_respond",
queue=True
)
# Lancement de l'interface
demo.launch()