M17idd commited on
Commit
d8bfdcf
·
verified ·
1 Parent(s): f5b923e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -4
app.py CHANGED
@@ -1,4 +1,5 @@
1
  import os
 
2
  import docx
3
  import torch
4
  import numpy as np
@@ -58,7 +59,6 @@ def cosine_similarity(vec1, vec2):
58
 
59
  # رابط کاربری استریم‌لیت
60
  st.title("🔎 یافتن نزدیک‌ترین بخش ۵ جمله‌ای به ورودی شما")
61
- st.markdown("با استفاده از مدل `HooshvareLab/bert-fa-base-uncased`")
62
 
63
  # مسیر پوشه فایل‌های docx
64
  folder_path = '46'
@@ -69,16 +69,19 @@ st.success(f"{len(chunks)} بخش ۵ جمله‌ای بارگذاری شد.")
69
 
70
  # ورودی کاربر
71
  user_input = st.text_area("لطفاً جمله یا متن خود را وارد کنید:")
72
-
 
 
 
73
  if st.button("🔍 جستجو"):
74
  if not user_input.strip():
75
  st.warning("لطفاً یک جمله وارد کنید.")
76
  else:
77
  with st.spinner("در حال محاسبه شباهت‌ها..."):
78
  user_embedding = get_embedding(user_input)
79
- similarities = [cosine_similarity(user_embedding, get_embedding(chunk)) for chunk in chunks]
80
  most_similar_index = np.argmax(similarities)
81
  result = chunks[most_similar_index]
82
 
83
  st.subheader("📌 شبیه‌ترین بخش ۵ جمله‌ای:")
84
- st.write(result)
 
1
  import os
2
+ import concurrent.futures
3
  import docx
4
  import torch
5
  import numpy as np
 
59
 
60
  # رابط کاربری استریم‌لیت
61
  st.title("🔎 یافتن نزدیک‌ترین بخش ۵ جمله‌ای به ورودی شما")
 
62
 
63
  # مسیر پوشه فایل‌های docx
64
  folder_path = '46'
 
69
 
70
  # ورودی کاربر
71
  user_input = st.text_area("لطفاً جمله یا متن خود را وارد کنید:")
72
+ def calculate_similarities_parallel(user_embedding, chunks):
73
+ with concurrent.futures.ThreadPoolExecutor() as executor:
74
+ similarities = list(executor.map(lambda chunk: cosine_similarity(user_embedding, get_embedding(chunk)), chunks))
75
+ return similarities
76
  if st.button("🔍 جستجو"):
77
  if not user_input.strip():
78
  st.warning("لطفاً یک جمله وارد کنید.")
79
  else:
80
  with st.spinner("در حال محاسبه شباهت‌ها..."):
81
  user_embedding = get_embedding(user_input)
82
+ similarities = calculate_similarities_parallel(user_embedding, chunks)
83
  most_similar_index = np.argmax(similarities)
84
  result = chunks[most_similar_index]
85
 
86
  st.subheader("📌 شبیه‌ترین بخش ۵ جمله‌ای:")
87
+ st.write(result)