leilaghomashchi commited on
Commit
622474c
·
verified ·
1 Parent(s): dd9b028

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -32
app.py CHANGED
@@ -11,7 +11,7 @@ class CerebrasConfig:
11
  """تنظیمات Cerebras API"""
12
  api_key: str
13
  base_url: str = "https://api.cerebras.ai/v1"
14
- model: str = "llama-3.1-8b" # یا llama-3.1-8b برای سرعت بیشتر
15
  max_tokens: int = 2000
16
  temperature: float = 0.1
17
 
@@ -28,8 +28,8 @@ class AdvancedCerebrasAnonymizer:
28
  self.system_prompt = self._create_advanced_system_prompt()
29
 
30
  def _create_advanced_system_prompt(self) -> str:
31
- """ایجاد دستورالعمل سیستمی پیشرفته برای Cerebras"""
32
- return """شما یک «ناشناسساز متون مالی/خبری فارسی» هستید. وظیفه‌تان جایگزینی اسامی خاص و مقادیر عددی با شناسه‌های بی‌معناست.
33
 
34
  ## قوانین اندیس‌گذاری:
35
  1. **ترتیب پیوسته**: company-01, company-02, ... | person-01, person-02, ... | amount-01, amount-02, ... | percent-01, percent-02, ...
@@ -85,9 +85,6 @@ class AdvancedCerebrasAnonymizer:
85
 
86
  فقط متن ناشناس‌شده را برگردان، بدون توضیح."""
87
 
88
-
89
- """
90
-
91
  def _make_api_request(self, text: str) -> Dict[str, Any]:
92
  """ارسال درخواست به Cerebras API"""
93
  headers = {
@@ -187,13 +184,13 @@ class AdvancedCerebrasAnonymizer:
187
  """تحلیل متن ناشناس‌سازی شده"""
188
  import re
189
 
190
- # شمارش موجودیت‌ها (group حذف شد - همه گروه‌ها company هستند)
191
  companies = re.findall(r'company-(\d+)', text)
192
  persons = re.findall(r'person-(\d+)', text)
193
  amounts = re.findall(r'amount-(\d+)', text)
194
  percents = re.findall(r'percent-(\d+)', text)
195
 
196
- # آمار کلی (group حذف شد - همه گروه‌ها company هستند)
197
  statistics = {
198
  "company": len(set(companies)),
199
  "person": len(set(persons)),
@@ -228,7 +225,7 @@ class AdvancedCerebrasAnonymizer:
228
  """اعتبارسنجی پیشرفته متن ناشناس‌شده"""
229
  import re
230
 
231
- # استخراج همه موجودیت‌ها (group حذف شد)
232
  companies = re.findall(r'company-(\d+)', text)
233
  persons = re.findall(r'person-(\d+)', text)
234
  amounts = re.findall(r'amount-(\d+)', text)
@@ -345,6 +342,7 @@ def create_advanced_interface():
345
  gr.Markdown("""
346
  # 🔒 سیستم پیشرفته ناشناس‌سازی متون مالی/خبری فارسی
347
  ### ⚡ قدرت‌گرفته از Cerebras AI - سریع‌ترین استنباط LLM در جهان!
 
348
  """)
349
 
350
  # نمایش وضعیت API
@@ -627,9 +625,10 @@ def create_advanced_interface():
627
 
628
  ### ⚡ مزایای استفاده از Cerebras:
629
  - **سرعت فوق‌العاده:** سریع‌ترین استنباط LLM در جهان
630
- - **دقت بالا:** مدل‌های قدرتمند Llama 3.3
631
  - **رایگان:** برای استفاده شخصی و تست
632
  - **API ساده:** سازگار با OpenAI
 
633
 
634
  ### 🏷️ انواع برچسب‌ها:
635
  - **company-XX:** شرکت‌ها، سازمان‌ها، برندها، نهادها، **گروه‌ها**
@@ -643,13 +642,13 @@ def create_advanced_interface():
643
 
644
  ### ✅ موارد حفظ شده:
645
  - 📅 تاریخ‌ها و ساعت‌ها
646
- - 🍂 فصل‌های سال (پاییز، بهار، تابستان، زمستان)
647
  - 🏢 عناوین شغلی و نقش‌ها
648
  - 📏 واحدها (تومان، ریال، میلیارد، تن، ...)
649
  - 📈 شاخص‌های مالی (EPS, P/E, ARPU, NPL)
650
  - 🗺️ نام مکان‌ها و آدرس‌ها
651
  - 📝 ساختار جمله و لحن
652
- - 🔤 کلمات عمومی بدون نام ("سه شرکت"، "چند بانک"، "مراکز درمانی")
653
  - ⏰ **دوره‌های زمانی:** "۵ ماهه سال"، "۹ ماهه"، "۳ ماهه اول" (��فظ می‌شوند)
654
 
655
  ### 🔍 کنترل کیفیت:
@@ -670,27 +669,10 @@ def create_advanced_interface():
670
  - "در ۹ ماه" → حفظ
671
  - اما "۹ میلیون تومان" → amount-XX
672
 
673
- ### 📧 مثال‌های صحیح:
674
-
675
- **مثال 1 - کلمات عمومی:**
676
- - **ورودی:** سازمان تامین اجتماعی دارای سه شرکت دارویی است
677
- - **خروجی:** company-01 دارای سه شرکت دارویی است
678
- - ✅ "سه شرکت دارویی" حفظ شد (کلمه عمومی)
679
-
680
- **مثال 2 - نام مستعار:**
681
- - **ورودی:** شرکت فولاد مبارکه... شرکت فاما قصد دارد...
682
- - **خروجی:** company-01... company-01 قصد دارد...
683
- - ✅ "فاما" = "فولاد مبارکه" → هر دو company-01
684
-
685
- **مثال 3 - فصل سال:**
686
- - **ورودی:** در پاییز ۱۴۰۱ تعداد مشترکین ۱۴۵ میلیون نفر رسید
687
- - **خروجی:** در پاییز ۱۴۰۱ تعداد مشترکین amount-01 رسید
688
- - ✅ "پاییز" حفظ شد (فصل سال)
689
-
690
  ### 🚀 مدل‌های موجود Cerebras:
691
- - `llama-3.3-70b`: مدل اصلی و قدرتمند (پیشنهادی)
692
- - `llama-3.1-8b`: سریع‌تر و سبک‌تر
693
- - `llama-3.1-70b`: نسخه قدیمی‌تر
694
  """)
695
 
696
  return interface
 
11
  """تنظیمات Cerebras API"""
12
  api_key: str
13
  base_url: str = "https://api.cerebras.ai/v1"
14
+ model: str = "llama3.1-8b" # مدل سبک برای سرعت بیشتر
15
  max_tokens: int = 2000
16
  temperature: float = 0.1
17
 
 
28
  self.system_prompt = self._create_advanced_system_prompt()
29
 
30
  def _create_advanced_system_prompt(self) -> str:
31
+ """ایجاد دستورالعمل سیستمی فشرده برای Llama 3.1-8B"""
32
+ return """شما متن‌های مالی فارسی را ناشناس می‌کنید. اسامی خاص و اعداد را با شناسه جایگزین کنید.
33
 
34
  ## قوانین اندیس‌گذاری:
35
  1. **ترتیب پیوسته**: company-01, company-02, ... | person-01, person-02, ... | amount-01, amount-02, ... | percent-01, percent-02, ...
 
85
 
86
  فقط متن ناشناس‌شده را برگردان، بدون توضیح."""
87
 
 
 
 
88
  def _make_api_request(self, text: str) -> Dict[str, Any]:
89
  """ارسال درخواست به Cerebras API"""
90
  headers = {
 
184
  """تحلیل متن ناشناس‌سازی شده"""
185
  import re
186
 
187
+ # شمارش موجودیت‌ها
188
  companies = re.findall(r'company-(\d+)', text)
189
  persons = re.findall(r'person-(\d+)', text)
190
  amounts = re.findall(r'amount-(\d+)', text)
191
  percents = re.findall(r'percent-(\d+)', text)
192
 
193
+ # آمار کلی
194
  statistics = {
195
  "company": len(set(companies)),
196
  "person": len(set(persons)),
 
225
  """اعتبارسنجی پیشرفته متن ناشناس‌شده"""
226
  import re
227
 
228
+ # استخراج همه موجودیت‌ها
229
  companies = re.findall(r'company-(\d+)', text)
230
  persons = re.findall(r'person-(\d+)', text)
231
  amounts = re.findall(r'amount-(\d+)', text)
 
342
  gr.Markdown("""
343
  # 🔒 سیستم پیشرفته ناشناس‌سازی متون مالی/خبری فارسی
344
  ### ⚡ قدرت‌گرفته از Cerebras AI - سریع‌ترین استنباط LLM در جهان!
345
+ #### 🎯 بهینه شده برای Llama 3.1-8B
346
  """)
347
 
348
  # نمایش وضعیت API
 
625
 
626
  ### ⚡ مزایای استفاده از Cerebras:
627
  - **سرعت فوق‌العاده:** سریع‌ترین استنباط LLM در جهان
628
+ - **دقت بالا:** مدل‌های قدرتمند Llama 3.1-8B
629
  - **رایگان:** برای استفاده شخصی و تست
630
  - **API ساده:** سازگار با OpenAI
631
+ - **پرامپت بهینه:** 60% کوتاه‌تر برای Llama 3.1-8B
632
 
633
  ### 🏷️ انواع برچسب‌ها:
634
  - **company-XX:** شرکت‌ها، سازمان‌ها، برندها، نهادها، **گروه‌ها**
 
642
 
643
  ### ✅ موارد حفظ شده:
644
  - 📅 تاریخ‌ها و ساعت‌ها
645
+ - 🂠فصل‌های سال (پاییز، بهار، تابستان، زمستان)
646
  - 🏢 عناوین شغلی و نقش‌ها
647
  - 📏 واحدها (تومان، ریال، میلیارد، تن، ...)
648
  - 📈 شاخص‌های مالی (EPS, P/E, ARPU, NPL)
649
  - 🗺️ نام مکان‌ها و آدرس‌ها
650
  - 📝 ساختار جمله و لحن
651
+ - 📦 کلمات عمومی بدون نام ("سه شرکت"، "چند بانک"، "مراکز درمانی")
652
  - ⏰ **دوره‌های زمانی:** "۵ ماهه سال"، "۹ ماهه"، "۳ ماهه اول" (��فظ می‌شوند)
653
 
654
  ### 🔍 کنترل کیفیت:
 
669
  - "در ۹ ماه" → حفظ
670
  - اما "۹ میلیون تومان" → amount-XX
671
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
672
  ### 🚀 مدل‌های موجود Cerebras:
673
+ - `llama3.1-8b`: سریع و کارآمد (توصیه می‌شود)
674
+ - `llama3.1-70b`: قدرتمندتر
675
+ - `llama3.3-70b`: جدیدترین نسخه 70B
676
  """)
677
 
678
  return interface