Spaces:
Sleeping
Sleeping
| import pickle | |
| import os | |
| print(os.getcwd()) | |
| fileobj=open("/home/user/app/embmmn7.obj","rb") | |
| corpus_embeddings,corpus=pickle.load(fileobj) | |
| fileobj.close() | |
| from sentence_transformers import SentenceTransformer, util | |
| import torch | |
| embedder = SentenceTransformer("ramdane/jurimodel") | |
| embedder.max_seq_length=510 | |
| def showrs(queries,number,id=0): | |
| if(id==-1): | |
| query_embedding = embedder.encode(queries, convert_to_tensor=True) | |
| hits = util.semantic_search(query_embedding, corpus_embeddings, top_k=10) | |
| hits = hits[0] #Get the hits for the first query | |
| if(hits[number]['score']>0.2): | |
| return corpus[hits[number]['corpus_id'] ] | |
| else: | |
| return "لم نتمكن من ايجاد النتيجة اما لعدم وجود الاجتهاد او لعدم كتابة جملة بحث مناسبة " | |
| else: | |
| chambres=[["العقارية", "الغرفة العقارية"," العقارية"],["المدنية","الغرفة المدنية ","غرفة المدنية "],["الاجتماعية","الغرفة الاجتماعية","الإجتماعية" ], ["الجنح","الجنح","جنح ومخالفت" ], ["الجنائية","جنائية","الجنائية"],["شؤون الاسرة","شؤون الأسرة","الاحوال الشخصية","المواريث","الأحوال الشخصية"],["التجارية ","التجارية ","التجارية","تجارية","البحرية"]] | |
| phrases_to_search = chambres[id] | |
| corpusf = [] | |
| corpus_embeddingsf = [] | |
| for i, text in enumerate(corpus): | |
| found = any(phrase in text for phrase in phrases_to_search) | |
| if found: | |
| corpusf.append(text) | |
| corpus_embeddingsf.append(corpus_embeddings[i]) | |
| query_embedding = embedder.encode(queries, convert_to_tensor=True) | |
| hits = util.semantic_search(query_embedding, corpus_embeddingsf, top_k=10) | |
| hits = hits[0] | |
| return corpusf[hits[number]['corpus_id'] ] | |
| import gradio as gr | |
| # Define a dictionary to map text labels to numbers | |
| room_options = { | |
| "الكل": -1, | |
| "الغرفة العقارية": 0, | |
| "الغرفة المدنية": 1, | |
| "الغرفة الاجتماعية": 2, | |
| "الغرفة الجنح والمخالفات": 3, | |
| "الغرفة الحنائية": 4, | |
| "الغرفة شؤون الاسرة والمواريث": 5, | |
| "الغرفة التجارية": 6, | |
| } | |
| def greet_user(name,numbers,num): | |
| # Extract the selected number based on the selected room | |
| number =num | |
| return showrs(name,int(numbers),int(number)) | |
| # Create a list of room options for the dropdown | |
| room_choices = list(room_options.keys()) | |
| app = gr.Interface( | |
| fn=greet_user, | |
| inputs=[gr.Textbox(label="ادخل كلمات البحث"),gr.Number(label="الترتيب"),gr.Number(label="اختر الغرفة")], | |
| outputs=gr.TextArea(label="Result") | |
| ) | |
| app.launch() |