FPHam commited on
Commit
4a5aeaf
·
verified ·
1 Parent(s): 67d3907

Upload script.py

Browse files
Files changed (1) hide show
  1. script.py +14 -5
script.py CHANGED
@@ -424,26 +424,28 @@ def parse_dynamic_lore(lore_string):
424
  memories = []
425
  entries = lore_string.strip().split('\n\n') # Split the input string into entries separated by blank lines
426
 
 
 
427
  for entry in entries:
428
  lines = entry.strip().split('\n') # Split each entry into lines
429
  if len(lines) < 2: # Ensure there are at least two lines (keywords and memory text)
430
  continue
431
 
432
  keywords_part = lines[0].strip() # First line contains keywords
433
- memory_text = ' '.join(line.strip() for line in lines[1:]) # Combine the rest as memory text
434
 
435
- keywords = [kw.strip().lower() for kw in keywords_part.split(',')] # Process keywords
 
436
 
437
  # Append the parsed data to the memories list
438
  memories.append({
439
  'keywords': ','.join(keywords), # Join keywords with commas
440
  'memory': memory_text
441
  })
442
-
443
  return memories
444
 
445
 
446
-
447
  def atoi(text):
448
  return int(text) if text.isdigit() else text.lower()
449
 
@@ -629,6 +631,9 @@ def generate_reply_wrapperMY(text_prompt, existing_text_in_output, state, _conti
629
 
630
  text_to_keep = ""
631
 
 
 
 
632
  if dynamic_lore_changed==True:
633
  dynamic_lore = parse_dynamic_lore(params['lorebook'])
634
  dynamic_lore_changed = False
@@ -791,10 +796,10 @@ def generate_reply_wrapperMY(text_prompt, existing_text_in_output, state, _conti
791
  for dyn_mem_item in dynamic_lore:
792
  # Check to see if keywords are present.
793
  keywords = dyn_mem_item["keywords"].lower().split(",")
794
-
795
  for keyword in keywords:
796
  keywordsimp = keyword.strip()
797
  if keywordsimp!='' and keywordsimp in user_input_lower:
 
798
  # keyword is present in user_input
799
  lore_msg += "\n\n"+ dyn_mem_item["memory"]
800
 
@@ -905,6 +910,9 @@ def generate_reply_wrapperMY_NP(text_prompt, existing_text_in_output, state, _co
905
 
906
  text_to_keep = ""
907
 
 
 
 
908
  if dynamic_lore_changed==True:
909
  dynamic_lore = parse_dynamic_lore(params['lorebook'])
910
  dynamic_lore_changed = False
@@ -1016,6 +1024,7 @@ def generate_reply_wrapperMY_NP(text_prompt, existing_text_in_output, state, _co
1016
  keywordsimp = keyword.strip()
1017
  if keywordsimp!='' and keywordsimp in user_input_lower:
1018
  # keyword is present in user_input
 
1019
  lore_msg += "\n\n"+ dyn_mem_item["memory"]
1020
 
1021
 
 
424
  memories = []
425
  entries = lore_string.strip().split('\n\n') # Split the input string into entries separated by blank lines
426
 
427
+ print("Parsing lore")
428
+
429
  for entry in entries:
430
  lines = entry.strip().split('\n') # Split each entry into lines
431
  if len(lines) < 2: # Ensure there are at least two lines (keywords and memory text)
432
  continue
433
 
434
  keywords_part = lines[0].strip() # First line contains keywords
435
+ memory_text = '\n'.join(lines[1:]).strip() # Combine the rest as memory text
436
 
437
+ # Remove colons and process keywords
438
+ keywords = [kw.replace(':', '').strip().lower() for kw in keywords_part.split(',')]
439
 
440
  # Append the parsed data to the memories list
441
  memories.append({
442
  'keywords': ','.join(keywords), # Join keywords with commas
443
  'memory': memory_text
444
  })
445
+
446
  return memories
447
 
448
 
 
449
  def atoi(text):
450
  return int(text) if text.isdigit() else text.lower()
451
 
 
631
 
632
  text_to_keep = ""
633
 
634
+ if params['lorebook']!='' and not dynamic_lore:
635
+ dynamic_lore_changed=True
636
+
637
  if dynamic_lore_changed==True:
638
  dynamic_lore = parse_dynamic_lore(params['lorebook'])
639
  dynamic_lore_changed = False
 
796
  for dyn_mem_item in dynamic_lore:
797
  # Check to see if keywords are present.
798
  keywords = dyn_mem_item["keywords"].lower().split(",")
 
799
  for keyword in keywords:
800
  keywordsimp = keyword.strip()
801
  if keywordsimp!='' and keywordsimp in user_input_lower:
802
+ print(f"Found Lore keyword: {keywordsimp}")
803
  # keyword is present in user_input
804
  lore_msg += "\n\n"+ dyn_mem_item["memory"]
805
 
 
910
 
911
  text_to_keep = ""
912
 
913
+ if params['lorebook']!='' and not dynamic_lore:
914
+ dynamic_lore_changed=True
915
+
916
  if dynamic_lore_changed==True:
917
  dynamic_lore = parse_dynamic_lore(params['lorebook'])
918
  dynamic_lore_changed = False
 
1024
  keywordsimp = keyword.strip()
1025
  if keywordsimp!='' and keywordsimp in user_input_lower:
1026
  # keyword is present in user_input
1027
+ print(f"Found Lore keyword: {keywordsimp}")
1028
  lore_msg += "\n\n"+ dyn_mem_item["memory"]
1029
 
1030