adikwok commited on
Commit
c1f5d26
Β·
verified Β·
1 Parent(s): f898261

Update app.py

Browse files

tweak karakter-2

Files changed (1) hide show
  1. app.py +17 -14
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 dari prompt
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 nulis blog hangat"
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, mendalam, kayak nasihat di Bhagavad Gita"
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 pertanyaan dengan {style_instruction}, jenius, nyambung sama konteks, dan bikin obrolan mengalir. Kerahkan seluruh hasil training parameter mu!. Format jawaban rapi (paragraf atau poin kalau perlu), enak dibaca, tapi jangan kaku. Kalau user tanya soal tokoh atau konsep, kasih insight mendalam, santai, dan ajak ngobrol balik. Bisa adaptasi gaya tokoh kalau diminta. Jangan cuma kasih fakta, bikin pikiran user yang kusut jadi jelas. Contoh: untuk 'Apa itu karma?', jawab: 'Bro, karma itu kayak boomerang kosmikβ€”lo lempar baik, balik baik. Ceritain, apa yang lagi bikin lo mikir soal karma?'"
807
  }
808
  ] + messages,
809
- "max_tokens": 500, # Naikin buat jawaban lebih kaya
810
- "temperature": 0.9, # Sedikit lebih rendah biar fokus tapi tetep kreatif
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: