servicesearch / app.py
meltag12's picture
Add application file
51cfe13
import torch
import gradio as gr
from sentence_transformers import SentenceTransformer, util
services = ['دفع المخالفات المرورية',
'إصدار رخصة قيادة مركبة',
'إصدار شهادة براءة ذمة',
'إصدار ملكية مركبة',
'إصدار تقرير معاينة حادث مروري بسيط',
'تجديد ملكية مركبة',
'نقل ملكية مركبة',
'اضافة فئة أخرى لرخصة قيادة مركبة',
'فتح ملف مروري',
'تجديد رخصة قيادة مركبة',
'إصدار شهادة تسفير سياحي',
'إصدار شهادة تحويل داخل الدولة',
'إصدار شهادة تصدير خارج الدولة',
'استبدال رخصة قيادة مركبة صادرة عن دولة اخرى',
'تغيير بيان في بطاقة ملكية المركبة',
'إصدار شهادة فك حجز مركبة',
'إصدار تصاريح بإستخدام مواقف اصحاب الهمم',
'إصدار تصريح مرور مركبة ثقيلة',
'شهادة حسن سيرة وسلوك - بحث الحالة الجنائية',
'شهادة لمن يهمه الأمر للوثائق المفقودة',
'تصريح نقل الجثث (الشرطية)',
'فتح البلاغات الجنائية',
'فتح البلاغات المرورية',
'شهادة لمن يهمة الأمر لإثبات حالة البلاغ',
'(تنظيم الزيارات بأنواعها (لذوي النزلاء والمحامين و السفارات',
'تحويل الأموال للنزلاء في المنشآت العقابية والسجون',
'حصنتك للمنازل السكنية',
'حصنتك للمباني',
'محاضرات توعويه في مجال السلامة الوقائية',
'إصدار شهادة لمن يهمه الأمر - الدفاع المدني',
'تجديد حجز رقم',
'تغيير رقم لوحة مركبة',
'إصدار تقرير حادث ضد مجهول',
'دفع بدل مدة حجز المركبات',
'إصدار شهادة شطب حيازة مركبة',
'حجز رقم مركبة']
embedder = SentenceTransformer('sentence-transformers/distiluse-base-multilingual-cased-v1')
service_embeddings = embedder.encode(services, convert_to_tensor=True)
top_k = 5
def search(query):
out = ''
query_embedding = embedder.encode(query, convert_to_tensor=True)
cos_scores = util.cos_sim(query_embedding, service_embeddings)[0]
top_results = torch.topk(cos_scores, k=top_k)
for score, idx in zip(top_results[0], top_results[1]):
out += services[idx] + '\n'
return out
iface = gr.Interface(fn=search, inputs="text", outputs="text")
iface.launch()