Spaces:
Runtime error
Runtime error
Add application file
Browse files
app.py
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import torch
|
2 |
+
import gradio as gr
|
3 |
+
from sentence_transformers import SentenceTransformer, util
|
4 |
+
|
5 |
+
services = ['دفع المخالفات المرورية',
|
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 |
+
'حجز رقم مركبة']
|
41 |
+
|
42 |
+
embedder = SentenceTransformer('sentence-transformers/distiluse-base-multilingual-cased-v1')
|
43 |
+
service_embeddings = embedder.encode(services, convert_to_tensor=True)
|
44 |
+
|
45 |
+
top_k = 5
|
46 |
+
|
47 |
+
def search(query):
|
48 |
+
|
49 |
+
out = ''
|
50 |
+
query_embedding = embedder.encode(query, convert_to_tensor=True)
|
51 |
+
|
52 |
+
cos_scores = util.cos_sim(query_embedding, service_embeddings)[0]
|
53 |
+
top_results = torch.topk(cos_scores, k=top_k)
|
54 |
+
|
55 |
+
for score, idx in zip(top_results[0], top_results[1]):
|
56 |
+
out += services[idx] + '\n'
|
57 |
+
|
58 |
+
return out
|
59 |
+
|
60 |
+
iface = gr.Interface(fn=search, inputs="text", outputs="text")
|
61 |
+
iface.launch()
|