Update app.py
Browse files
app.py
CHANGED
@@ -568,7 +568,7 @@ def compute_similarity(sentence, query, threshold):
|
|
568 |
# پردازش پرسش
|
569 |
if query:
|
570 |
threshold = 75
|
571 |
-
keywords = query
|
572 |
|
573 |
# خلاصهسازی متن قبل از ارسال به LLM
|
574 |
text_to_summarize = "\n".join(all_sentences) # تمام جملات را با هم ترکیب کنید
|
@@ -579,11 +579,12 @@ if query:
|
|
579 |
futures = [executor.submit(compute_similarity, sentence, query, threshold) for sentence in all_sentences]
|
580 |
matched_sentences = [future.result() for future in futures if future.result()]
|
581 |
|
|
|
582 |
if matched_sentences:
|
583 |
found_sentences = [sentence for sentence in matched_sentences if any(keyword in sentence for keyword in keywords)]
|
584 |
|
585 |
if found_sentences:
|
586 |
-
matched_text = "\n".join(found_sentences)
|
587 |
|
588 |
prompt = f"""
|
589 |
تعدادی پاسخ برای سوال زیر تولید شده است. لطفاً ابتدا این پاسخها را بررسی کن، سپس با در نظر گرفتن محتوای سوال و لحن آن، یک پاسخ نهایی حرفهای، دقیق و روان از داخل پاسخها ارائه کن که هم به سوال پاسخ دهد و هم از نظر نگارشی و ساختاری در سطح بالایی باشد. پاسخ نهایی باید حداکثر 2048 کاراکتر و حداقل 512 باشد، خلاصه و واضح نوشته شود و فقط به زبان فارسی باشد. از تکرار اضافی پرهیز کن و فقط از پاسخهای زیر استفاده کن. در صورت نیاز، محتوای چند پاسخ را با هم ترکیب کن.
|
@@ -657,4 +658,4 @@ if query:
|
|
657 |
HumanMessage(content=fallback_prompt)
|
658 |
])
|
659 |
rewritten = clean_text(response.content.strip())
|
660 |
-
st.markdown(f'<div class="chat-message">{rewritten}</div>', unsafe_allow_html=True)
|
|
|
568 |
# پردازش پرسش
|
569 |
if query:
|
570 |
threshold = 75
|
571 |
+
keywords = query.split() # فرض میکنیم که query یک رشته است و کلمات کلیدی به طور پیشفرض از آن استخراج میشود
|
572 |
|
573 |
# خلاصهسازی متن قبل از ارسال به LLM
|
574 |
text_to_summarize = "\n".join(all_sentences) # تمام جملات را با هم ترکیب کنید
|
|
|
579 |
futures = [executor.submit(compute_similarity, sentence, query, threshold) for sentence in all_sentences]
|
580 |
matched_sentences = [future.result() for future in futures if future.result()]
|
581 |
|
582 |
+
# فیلتر کردن جملات بر اساس کلمات کلیدی
|
583 |
if matched_sentences:
|
584 |
found_sentences = [sentence for sentence in matched_sentences if any(keyword in sentence for keyword in keywords)]
|
585 |
|
586 |
if found_sentences:
|
587 |
+
matched_text = "\n".join(found_sentences) # ترکیب جملات مشابه به یک رشته
|
588 |
|
589 |
prompt = f"""
|
590 |
تعدادی پاسخ برای سوال زیر تولید شده است. لطفاً ابتدا این پاسخها را بررسی کن، سپس با در نظر گرفتن محتوای سوال و لحن آن، یک پاسخ نهایی حرفهای، دقیق و روان از داخل پاسخها ارائه کن که هم به سوال پاسخ دهد و هم از نظر نگارشی و ساختاری در سطح بالایی باشد. پاسخ نهایی باید حداکثر 2048 کاراکتر و حداقل 512 باشد، خلاصه و واضح نوشته شود و فقط به زبان فارسی باشد. از تکرار اضافی پرهیز کن و فقط از پاسخهای زیر استفاده کن. در صورت نیاز، محتوای چند پاسخ را با هم ترکیب کن.
|
|
|
658 |
HumanMessage(content=fallback_prompt)
|
659 |
])
|
660 |
rewritten = clean_text(response.content.strip())
|
661 |
+
st.markdown(f'<div class="chat-message">{rewritten}</div>', unsafe_allow_html=True)
|