Spaces:
Sleeping
Sleeping
Update app.py
Browse filestweak karakter-2
app.py
CHANGED
|
@@ -740,6 +740,9 @@ def count_tokens_rough(text: str) -> int:
|
|
| 740 |
|
| 741 |
|
| 742 |
# TWEAK JAWABAN MODEL
|
|
|
|
|
|
|
|
|
|
| 743 |
def groq_with_memory(message: str, topic: str = "general", retries: int = 3) -> tuple:
|
| 744 |
if not API_KEY:
|
| 745 |
return "β No API Key found. Please set GROQ_API_KEY environment variable.", ""
|
|
@@ -776,38 +779,38 @@ def groq_with_memory(message: str, topic: str = "general", retries: int = 3) ->
|
|
| 776 |
if not messages:
|
| 777 |
messages = [{"role": "user", "content": message.strip()}]
|
| 778 |
|
| 779 |
-
# Deteksi gaya tokoh
|
| 780 |
-
style_instruction = "santai, cerdas, conversational, kayak ngobrol sama temen"
|
| 781 |
style_match = re.search(r"gaya\s+([\w\s]+)", message.lower(), re.IGNORECASE)
|
| 782 |
if style_match:
|
| 783 |
style_name = style_match.group(1).strip()
|
| 784 |
if "schreiter" in style_name:
|
| 785 |
-
style_instruction = "gaya Tom Schreiter: pendek, ngena, Mini-Stories yang bikin orang klik"
|
| 786 |
elif "henneke" in style_name:
|
| 787 |
-
style_instruction = "gaya Henneke Duistermaat: relatable, empati, kayak
|
| 788 |
elif "ogilvy" in style_name:
|
| 789 |
-
style_instruction = "gaya David Ogilvy: elegan, persuasive, storytelling yang memikat"
|
| 790 |
elif "halbert" in style_name:
|
| 791 |
-
style_instruction = "gaya Gary Halbert: direct, bold, kayak surat penjualan yang nendang"
|
| 792 |
elif "rohn" in style_name:
|
| 793 |
-
style_instruction = "gaya Jim Rohn: inspiratif, penuh wisdom, bikin orang mikir"
|
| 794 |
elif any(s in style_name for s in ["lao tzu", "lao tze"]):
|
| 795 |
-
style_instruction = "gaya Lao Tzu: filosofis, minimalis, puisi Tao yang tenang"
|
| 796 |
elif "krishna" in style_name:
|
| 797 |
-
style_instruction = "gaya Krishna: spiritual,
|
| 798 |
elif any(s in style_name for s in ["nicholas", "nightingale", "hill", "james"]):
|
| 799 |
-
style_instruction = "gaya motivasi klasik: praktis, inspiratif, bikin semangat"
|
| 800 |
|
| 801 |
payload = {
|
| 802 |
"model": "meta-llama/llama-4-maverick-17b-128e-instruct",
|
| 803 |
"messages": [
|
| 804 |
{
|
| 805 |
"role": "system",
|
| 806 |
-
"content": f"Kamu asisten cerdas kayak Grok 3: jawab
|
| 807 |
}
|
| 808 |
] + messages,
|
| 809 |
-
"max_tokens":
|
| 810 |
-
"temperature": 0.9, #
|
| 811 |
"frequency_penalty": 0.7,
|
| 812 |
"presence_penalty": 0.8,
|
| 813 |
"top_p": 0.95
|
|
@@ -834,7 +837,7 @@ def groq_with_memory(message: str, topic: str = "general", retries: int = 3) ->
|
|
| 834 |
|
| 835 |
except Exception as e:
|
| 836 |
return f"β Error: {str(e)}", ""
|
| 837 |
-
|
| 838 |
|
| 839 |
|
| 840 |
def cleanup_old_messages(days: int = 30) -> str:
|
|
|
|
| 740 |
|
| 741 |
|
| 742 |
# TWEAK JAWABAN MODEL
|
| 743 |
+
import re
|
| 744 |
+
from time import sleep
|
| 745 |
+
|
| 746 |
def groq_with_memory(message: str, topic: str = "general", retries: int = 3) -> tuple:
|
| 747 |
if not API_KEY:
|
| 748 |
return "β No API Key found. Please set GROQ_API_KEY environment variable.", ""
|
|
|
|
| 779 |
if not messages:
|
| 780 |
messages = [{"role": "user", "content": message.strip()}]
|
| 781 |
|
| 782 |
+
# Deteksi gaya tokoh
|
| 783 |
+
style_instruction = "santai, cerdas, conversational, kayak ngobrol sama temen deket"
|
| 784 |
style_match = re.search(r"gaya\s+([\w\s]+)", message.lower(), re.IGNORECASE)
|
| 785 |
if style_match:
|
| 786 |
style_name = style_match.group(1).strip()
|
| 787 |
if "schreiter" in style_name:
|
| 788 |
+
style_instruction = "gaya Tom Schreiter: pendek, ngena, Mini-Stories yang bikin orang klik, penuh energi, the real teacher of network marketing. Ajarannya efektif dan efisien, sesuai perkembangan jaman."
|
| 789 |
elif "henneke" in style_name:
|
| 790 |
+
style_instruction = "gaya Henneke Duistermaat: hangat, relatable, penuh empati, pake cerita personal dan humor halus kayak blog yang nyanyi"
|
| 791 |
elif "ogilvy" in style_name:
|
| 792 |
+
style_instruction = "gaya David Ogilvy: elegan, persuasive, storytelling yang memikat, kayak iklan legendaris"
|
| 793 |
elif "halbert" in style_name:
|
| 794 |
+
style_instruction = "gaya Gary Halbert: direct, bold, kayak surat penjualan yang nendang keras"
|
| 795 |
elif "rohn" in style_name:
|
| 796 |
+
style_instruction = "gaya Jim Rohn: inspiratif, penuh wisdom, bikin orang mikir besar"
|
| 797 |
elif any(s in style_name for s in ["lao tzu", "lao tze"]):
|
| 798 |
+
style_instruction = "gaya Lao Tzu: filosofis, minimalis, puisi Tao yang tenang dan mendalam"
|
| 799 |
elif "krishna" in style_name:
|
| 800 |
+
style_instruction = "gaya Krishna: spiritual, penuh makna, kayak nasihat bijak di Bhagavad Gita"
|
| 801 |
elif any(s in style_name for s in ["nicholas", "nightingale", "hill", "james"]):
|
| 802 |
+
style_instruction = "gaya motivasi klasik: praktis, inspiratif, bikin semangat beraksi"
|
| 803 |
|
| 804 |
payload = {
|
| 805 |
"model": "meta-llama/llama-4-maverick-17b-128e-instruct",
|
| 806 |
"messages": [
|
| 807 |
{
|
| 808 |
"role": "system",
|
| 809 |
+
"content": f"Kamu asisten cerdas kayak Grok 3: jawab dengan {style_instruction}, jenius, nyambung sama pikiran user, bikin obrolan mengalir. Kasih insight mendalam, pake cerita atau analogi biar hidup, dan format rapi (judul kalau perlu, paragraf pendek, poin kalau bikin jelas). Jangan kaku atau textbook, tapi kayak ngobrol sama temen deket. Selalu ajak user lanjut ngobrol biar pikirannya tetep engaged. Kalau topiknya kompleks, kasih sudut pandang unik yang bikin 'wow'. Contoh: untuk 'Apa itu karma?', jawab: 'Kita semua sering dengar karma itu kayak bumerang dengan GPSβdilemparnya baik, baliknya baik. Pernah ngerasa karma balik didalam kehidupan kamu? Ceritain!'"
|
| 810 |
}
|
| 811 |
] + messages,
|
| 812 |
+
"max_tokens": 600, # Naikin lagi buat storytelling
|
| 813 |
+
"temperature": 0.9, # Fokus tapi kreatif
|
| 814 |
"frequency_penalty": 0.7,
|
| 815 |
"presence_penalty": 0.8,
|
| 816 |
"top_p": 0.95
|
|
|
|
| 837 |
|
| 838 |
except Exception as e:
|
| 839 |
return f"β Error: {str(e)}", ""
|
| 840 |
+
|
| 841 |
|
| 842 |
|
| 843 |
def cleanup_old_messages(days: int = 30) -> str:
|