debug: Add comprehensive placeholder resolution logging to workflow executor
- Log placeholder loading (count, sample keys)
- Log key cleaning process (before/after)
- Log sample values (name, age, geschlecht)
- Log template before/after resolution
- Log resolved and unresolved placeholders
- Add .strip() to key cleaning to handle spaces
This will help diagnose why {{ name }}, {{ age }}, {{ geschlecht }} are not resolving in inline templates.
Issue: Part 3 Inline Prompts - placeholder resolution debugging
This commit is contained in:
parent
a4c8b4bd9a
commit
aeb0ee6ad9
|
|
@ -878,14 +878,20 @@ async def load_prompt_template(node: WorkflowNode, context: Dict[str, Any]) -> s
|
|||
try:
|
||||
# Get all placeholder values from registry
|
||||
processed_placeholders = get_placeholder_example_values(profile_id)
|
||||
logger.info(f"🔍 DEBUG: Loaded {len(processed_placeholders)} placeholders from registry")
|
||||
logger.info(f"🔍 DEBUG: Sample keys (first 3): {list(processed_placeholders.keys())[:3]}")
|
||||
|
||||
# Remove {{ }} from keys (placeholder_resolver returns them with wrappers)
|
||||
cleaned_placeholders = {
|
||||
key.replace('{{', '').replace('}}', ''): value
|
||||
key.replace('{{', '').replace('}}', '').strip(): value
|
||||
for key, value in processed_placeholders.items()
|
||||
}
|
||||
logger.info(f"🔍 DEBUG: Cleaned keys (first 3): {list(cleaned_placeholders.keys())[:3]}")
|
||||
logger.info(f"🔍 DEBUG: Sample values: name={cleaned_placeholders.get('name')}, age={cleaned_placeholders.get('age')}, geschlecht={cleaned_placeholders.get('geschlecht')}")
|
||||
|
||||
variables.update(cleaned_placeholders)
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to load placeholders for workflow: {e}")
|
||||
logger.error(f"❌ CRITICAL: Failed to load placeholders for workflow: {e}", exc_info=True)
|
||||
|
||||
# Load catalog for |d modifier support
|
||||
try:
|
||||
|
|
@ -894,13 +900,22 @@ async def load_prompt_template(node: WorkflowNode, context: Dict[str, Any]) -> s
|
|||
catalog = None
|
||||
logger.warning(f"Failed to load placeholder catalog for workflow: {e}")
|
||||
|
||||
logger.info(f"🔍 DEBUG: Template before resolution:\n{template[:200]}...")
|
||||
logger.info(f"🔍 DEBUG: Variables dict has {len(variables)} entries")
|
||||
|
||||
# Resolve with modern executor
|
||||
debug_info = {}
|
||||
resolved = resolve_placeholders(
|
||||
template=template,
|
||||
variables=variables,
|
||||
debug_info=debug_info,
|
||||
catalog=catalog
|
||||
)
|
||||
|
||||
logger.info(f"🔍 DEBUG: Resolved placeholders: {debug_info.get('resolved_placeholders', {})}")
|
||||
logger.info(f"🔍 DEBUG: Unresolved placeholders: {debug_info.get('unresolved_placeholders', [])}")
|
||||
logger.info(f"🔍 DEBUG: Template after resolution:\n{resolved[:200]}...")
|
||||
|
||||
return resolved
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user