File size: 2,539 Bytes
c8a7f2a
f743694
c8a7f2a
 
 
f743694
 
c8a7f2a
dfe9314
8bb0be9
c8a7f2a
14c879f
c8a7f2a
 
 
f743694
 
c8a7f2a
 
 
14c879f
 
0708ea2
14c879f
0708ea2
c8a7f2a
 
 
 
 
 
 
 
 
 
5b8c1c1
c8a7f2a
 
 
f743694
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import gradio as gr
from get_similar_hadiths import HadithSearch
import os
from functools import partial

hadith_search = HadithSearch(api_key=os.environ.get("apk"))
hadith_search.load_data_from_json("embeded_data.json")

title = "Smart Hadith -> English version available here:https://huggingface.co/spaces/Adr740/SmartHadith_ENG"
desc = "### Bienvenue dans Smart Hadith. Expliquer une situation ou un problème (personnel ou non) et Smart Hadith va retrouver des hadith qui peuvent potentiellement vous aider. Plus d'informations sur le fonctionnement: https://adam-rida.medium.com/smart-hadith-ed7b6c9e0b2d\n Contact suggestions/questions: [[email protected]](mailto:[email protected])"

warning = "\n\n**AVERTISSEMENT (seul 3000 hadiths environ sont présents)**\nCET OUTIL EST DESTINÉ À DES FINS DE RÉFÉRENCE AFIN DE FACILITER LA RECHERCHE SUR LES HADITHS (PAROLES ET ACTES PROPHÉTIQUES). IL N'EST PAS DESTINÉ À ÊTRE UTILISÉ EN TANT QU'OUTIL D'ORIENTATION OU POUR TOUT AUTRE BUT.\nPOUR TOUTE QUESTION RELIGIEUSE, LES UTILISATEURS SONT INVITÉS À CHERCHER CONSEIL AUPRÈS DE RÉFÉRENCE ADÉQUATE ET RECONNU. VEUILLEZ NOTER QUE LE CONTENU AFFICHÉ PAR CET OUTIL N'EST PAS GARANTI COMME ÉTANT PRÉCIS, COMPLET OU À JOUR. LES DÉVELOPPEURS DE CET OUTIL NE SERONT TENUS RESPONSABLES EN AUCUN CAS DE TOUT USAGE OU DÉCISION FAIT PAR LES UTILISATEURS."

def update_results(text_area, number_to_display=10):
    user_input = text_area
    results = hadith_search.search_hadiths(user_input, number_to_display)
    return results

with gr.Blocks(title=title) as demo:
    gr.Markdown(f"## {title}")
    gr.Markdown(desc)
    
    with gr.Accordion("A LIRE AVANT UTILISATION!", open=False):
        gr.Markdown(warning)
        
    with gr.Row():
        with gr.Column(scale=4):
            text_area = gr.Textbox(placeholder="On m'a dit qu'il était conseillé de manger en étant assis", lines=3, label="Décrivez votre situation avec vos mots (histoire, mots clés, sujet etc...)")
        with gr.Column(scale=1):
            number_to_display = gr.Number(value=10,label = "Nombre de hadiths à afficher")        
            submit_button = gr.Button(value="Trouver hadiths pertinent")    
            pass

    fn = partial(update_results)
    
    with gr.Accordion("Hadiths Pertinents (Relancez si les résultats ne vous conviennent pas)"):
        response_display = gr.Markdown("Empty")

    submit_button.click(fn=fn, inputs=[text_area,number_to_display], outputs=[response_display])
demo.launch(max_threads=40)