@@ -44,7 +44,7 @@ activity_dir = 'activities/'
4444
4545from pathlib import Path
4646def load_persona_file(filename):
47- """Load a persona template file"""
47+ """Load a persona template file with clear section markers """
4848 try:
4949 # First check if we're in a cloned pyimagej repo
5050 persona_path = Path('/content/pyimagej/doc/llms/personas') / filename
@@ -53,30 +53,39 @@ def load_persona_file(filename):
5353 persona_path = Path('./personas') / filename
5454
5555 if persona_path.exists():
56- return persona_path.read_text(encoding='utf-8')
56+ content = persona_path.read_text(encoding='utf-8')
57+ # Add clear section markers for LLM parsing
58+ base_name = filename.replace('.md', '')
59+ # For activity files, remove experience level suffix and add "ACTIVITIES"
60+ if '_beginner' in base_name or '_intermediate' in base_name or '_advanced' in base_name:
61+ # Strip the last underscore and everything after it, then add "ACTIVITIES"
62+ activity_name = base_name.rsplit('_', 1)[0].replace('_', ' ').upper()
63+ section_name = f"{activity_name} ACTIVITIES"
64+ else:
65+ # Other files: use as-is
66+ section_name = base_name.replace('_', ' ').upper()
67+ return f"\n===== START OF {section_name} =====\n{content}\n===== END OF {section_name} =====\n"
5768 else:
5869 return f"# Template not found: {filename}\n(Using basic fallback)"
5970 except Exception as e:
6071 return f"# Error loading {filename}: {e}\n(Using basic fallback)"
6172
62- # Load base persona
63- persona_text = "===START OF PERSONA TEXT===\n"
73+ # Load base persona with section markers
74+ persona_text = "===== START OF PERSONA TEXT == ===\n"
6475persona_text += load_persona_file('base_persona.md')
65- persona_text += "\n ===END OF PERSONA TEXT===\n\n"
76+ persona_text += "===== END OF PERSONA TEXT == ===\n\n"
6677
6778# Get experience levels
6879{% for category in categories .keys () %}
6980{{ category }}_level = experience_mapping[{{ category }}_experience]
7081{% endfor %}
7182
7283# Add activities based on experience levels
73- persona_text = "===START OF ACTIVITY TEXT===\n"
7484{% for category in categories .keys () %}
7585if {{ category }}_level in {{ category }}_activities:
76- persona_text += "\n" + load_persona_file({{ category }}_activities[{{ category }}_level])
86+ persona_text += load_persona_file({{ category }}_activities[{{ category }}_level])
7787
7888{% endfor %}
79- persona_text += "\n===END OF ACTIVITY TEXT===\n\n"
8089
8190# Register the persona with the LLM
8291print(persona_text)
0 commit comments