Skip to content

Commit fcb9781

Browse files
committed
Eliminated placeholder functions/vars ↞ [auto-sync from https://github.com/KudoAI/ai-personas/tree/main/python]
1 parent a70465e commit fcb9781

1 file changed

Lines changed: 3 additions & 12 deletions

File tree

ai-personas/docs/README.md

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,21 +123,12 @@ print(random_prompt())
123123
#### Fill variables in template prompts:
124124

125125
```py
126-
def extract_placeholders(prompt):
126+
def fill_vars_in_prompt(prompt, vals={}):
127127
import re
128-
matches = re.findall(r'\$\{(.*?)\}', prompt)
129-
return list(dict.fromkeys(matches))
130-
131-
def fill_vars_in_prompt(prompt, placeholders, vals):
132-
filled_prompt = prompt
133-
for name in placeholders:
134-
if name in vals:
135-
filled_prompt = filled_prompt.replace(f"${{{name}}}", vals[name])
136-
return filled_prompt
128+
return re.sub(r'\$\{(.*?)\}', lambda m: vals.get(m.group(1), m.group(0)), prompt)
137129

138130
prompt = personas['Node.js Automation Script Developer']['prompt']
139-
placeholders = extract_placeholders(prompt)
140-
filled_prompt = fill_vars_in_prompt(prompt, placeholders, {'taskType': 'web scraping'})
131+
filled_prompt = fill_vars_in_prompt(prompt, {'taskType': 'web scraping'})
141132

142133
print(filled_prompt)
143134

0 commit comments

Comments
 (0)