Spaces:
Runtime error
Runtime error
anas-essaidi commited on
Commit ·
3ae8669
1
Parent(s): 7355d45
Ajout du chatbot
Browse files- app.py +38 -0
- faq.csv +10 -0
- requirements.txt +6 -0
app.py
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import pandas as pd
|
| 2 |
+
import numpy as np
|
| 3 |
+
from sklearn.metrics.pairwise import cosine_similarity
|
| 4 |
+
from sentence_transformers import SentenceTransformer
|
| 5 |
+
import gradio as gr
|
| 6 |
+
|
| 7 |
+
# Charger les données depuis CSV
|
| 8 |
+
df = pd.read_csv("faq.csv", encoding='utf-8-sig', names=['question', 'reponse'], header=None)
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
# Encoder les questions avec MiniLM
|
| 12 |
+
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
|
| 13 |
+
base_vectors = model.encode(df['question'].tolist())
|
| 14 |
+
|
| 15 |
+
# Fonction de réponse intelligente
|
| 16 |
+
def repondre_huggingface(question):
|
| 17 |
+
vecteur = model.encode([question])
|
| 18 |
+
similarites = cosine_similarity(vecteur, base_vectors)[0]
|
| 19 |
+
indice = np.argmax(similarites)
|
| 20 |
+
score = similarites[indice]
|
| 21 |
+
if score > 0.5:
|
| 22 |
+
return df.iloc[indice]['reponse']
|
| 23 |
+
else:
|
| 24 |
+
return "❗ Je n’ai pas compris votre question. Essayez de reformuler."
|
| 25 |
+
|
| 26 |
+
# Interface chatbot Gradio
|
| 27 |
+
def chatbot(message, history):
|
| 28 |
+
return repondre_huggingface(message)
|
| 29 |
+
|
| 30 |
+
demo = gr.ChatInterface(
|
| 31 |
+
fn=chatbot,
|
| 32 |
+
chatbot=gr.Chatbot(type="messages"),
|
| 33 |
+
textbox=gr.Textbox(placeholder="Posez votre question sur le diabète..."),
|
| 34 |
+
title="🤖 Chatbot Farasha Diabète",
|
| 35 |
+
description="Posez votre question, et le chatbot vous répondra grâce à l'IA."
|
| 36 |
+
)
|
| 37 |
+
|
| 38 |
+
demo.launch()
|
faq.csv
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1,Quels sont vos horaires d'ouverture ?,Nos horaires sont de 9h à 18h du lundi au vendredi.
|
| 2 |
+
2,Où se trouve votre siège ?,Notre siège est situé à Paris.
|
| 3 |
+
3,Comment vous contacter ?,Vous pouvez nous contacter par email à contact@entreprise.com.
|
| 4 |
+
4,Quels services proposez-vous ?,"Nous proposons des services de conseil, de développement logiciel et de formation."
|
| 5 |
+
5,Comment postuler à une offre ?,Vous pouvez postuler directement via notre site carrière.
|
| 6 |
+
6,Avez-vous des agences en région ?,"Oui, nous avons des agences à Lyon, Marseille et Lille."
|
| 7 |
+
7,Proposez-vous des stages ?,"Oui, nous accueillons des stagiaires toute l''année dans différents domaines."
|
| 8 |
+
8,Quelle est votre politique de confidentialité ?,Vous pouvez consulter notre politique de confidentialité sur notre site internet.
|
| 9 |
+
9,Travaillez-vous avec des clients à l'international ?,"Oui, nous travaillons avec des partenaires et clients dans plusieurs pays."
|
| 10 |
+
10,Quels sont vos délais de réponse ?,Nous répondons généralement dans un délai de 24 à 48 heures.
|
requirements.txt
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
gradio
|
| 2 |
+
psycopg2-binary
|
| 3 |
+
pandas
|
| 4 |
+
numpy
|
| 5 |
+
scikit-learn
|
| 6 |
+
sentence-transformers
|