Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 = "
|
| 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 |
-
"""ایجاد دستورالعمل سیستمی
|
| 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 |
-
# شمارش موجودیتها
|
| 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 |
-
# آمار کلی
|
| 197 |
statistics = {
|
| 198 |
"company": len(set(companies)),
|
| 199 |
"person": len(set(persons)),
|
|
@@ -228,7 +225,7 @@ class AdvancedCerebrasAnonymizer:
|
|
| 228 |
"""اعتبارسنجی پیشرفته متن ناشناسشده"""
|
| 229 |
import re
|
| 230 |
|
| 231 |
-
# استخراج همه موجودیتها
|
| 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.
|
| 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 |
-
- `
|
| 692 |
-
- `
|
| 693 |
-
- `
|
| 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
|