akkadian-backend / server /default.py
jeffliulab's picture
Initial backend for Hugging Face Space
c3b1e3c
Raw
History Blame Contribute Delete
1.22 kB
import hashlib
import random
# ๅญ—็ฌฆๆฑ  (ไป…ๅœจ่ฏฅๆจกๅ—ๅ†…้ƒจไฝฟ็”จ)
CUNEIFORM_POOL = [
"๐’€€", "๐’€", "๐’€‚", "๐’€ƒ", "๐’€„", "๐’€…", "๐’€†", "๐’€‡", "๐’€ˆ", "๐’€‰", "๐’€Š", "๐’€‹", "๐’€Œ", "๐’€", "๐’€Ž",
"๐’€", "๐’€", "๐’€‘", "๐’€’", "๐’€“", "๐’€”", "๐’€•", "๐’€–", "๐’€—", "๐’€˜", "๐’€™", "๐’€š", "๐’€›", "๐’€œ", "๐’€",
"๐’€ž", "๐’€Ÿ", "๐’€ ", "๐’€ก", "๐’€ข", "๐’€ฃ", "๐’€ค", "๐’€ฅ", "๐’€ฆ", "๐’€ง", "๐’€จ", "๐’€ฉ", "๐’€ช", "๐’€ซ", "๐’€ฌ"
]
def predict(text: str) -> str:
"""
ใ€Default Engine ๅ…ทไฝ“ๅฎž็Žฐใ€‘
่ทฏๅพ„: server/model/model_default.py
ๅŠŸ่ƒฝ: ๆŽฅๆ”ถ่‹ฑๆ–‡ -> MD5 Hashing -> ็กฎๅฎšๆ€งๆฅ”ๅฝขๆ–‡ๅญ—ๆต
"""
if not text:
return ""
# 1. ่ฎก็ฎ— Hashing
text_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
# 2. ่ฎพๅฎš้šๆœบ็งๅญ (็กฎไฟ่พ“ๅ…ฅ็›ธๅŒ๏ผŒ่พ“ๅ‡บๆฐธ่ฟœ็›ธๅŒ)
random.seed(text_hash)
# 3. ็”Ÿๆˆ้€ป่พ‘
length = min(len(text) * 2, 200)
result = []
for i in range(length):
char = random.choice(CUNEIFORM_POOL)
result.append(char)
# ้šๆœบๆ’ๅ…ฅ็ฉบๆ ผ
if (i + 1) % random.randint(3, 8) == 0:
result.append(" ")
return "".join(result)