185 lines
4.1 KiB
Python
185 lines
4.1 KiB
Python
choose_candidates_tmpl = {
|
||
"en":"""
|
||
User request:
|
||
\"\"\"{{prompt}}\"\"\"
|
||
|
||
Candidate skills:
|
||
{{spec_desc}}
|
||
|
||
Task:
|
||
1. Choose the best skill with scripts.
|
||
2. Extract parameters strictly matching schema.
|
||
|
||
Rules:
|
||
- If a required parameter is missing, set it to null.
|
||
- Output JSON only.
|
||
|
||
Output:
|
||
{
|
||
"skill": "...",
|
||
"script": "...",
|
||
"params": { ... },
|
||
"reason": "..."
|
||
}
|
||
""",
|
||
"zh":"""
|
||
用户需求:
|
||
\"\"\"{{promot}}\"\"\"
|
||
|
||
候选技能脚本:
|
||
技能|技能描述|脚本|脚本描述|已知参数|缺失参数
|
||
{% for c in candidates %}
|
||
{{c.skill}}|{{c.skill_desc}}|{{c.script}}|{{c.script_desc}}|{{json.dumps(c.params, ensure_ascii=False)}}|{{json.dumps(c.missing_params, ensure_ascii=False)}}
|
||
{% endfor %}
|
||
|
||
任务:
|
||
1. 选择最符合用户需求的技能脚本
|
||
|
||
规则
|
||
- 只输出JSON
|
||
|
||
输出:
|
||
{
|
||
"skill": "...",
|
||
"script": "...",
|
||
"params": {},
|
||
"missing_params":[...],
|
||
"reason": "..."
|
||
}
|
||
"""
|
||
}
|
||
|
||
resume_tmpl = {
|
||
"en":"""
|
||
You are an agent helping a user fill parameters for a skill.
|
||
|
||
Skill name: {{state.skill}}
|
||
Script name: {{state.script}}
|
||
{% set schema = kit.get_script_params(state.skill, state.script) %}
|
||
{% if schema %}
|
||
Skill required parameters: {{json.dumps(schema.inputs, ensure_ascii=False)}}
|
||
{% else %}
|
||
Skill required parameters:[]
|
||
{% endif %}
|
||
|
||
User original intent:
|
||
\"\"\"{{state.user_intent}}\"\"\"
|
||
|
||
Known parameters:
|
||
{{json.dumps(state.params, ensure_ascii=False)}}
|
||
|
||
Missing parameters:
|
||
{{json.dumps(state.missing, ensure_ascii=False)}}
|
||
|
||
User reply:
|
||
\"\"\"{{user_reply}}\"\"\"
|
||
|
||
Task:
|
||
- Extract values ONLY for missing parameters.
|
||
- Do NOT modify existing known parameters.
|
||
- All output must match the skill parameter schema.
|
||
- Output JSON only with the missing parameters.
|
||
""",
|
||
"zh":"""
|
||
你是个帮助技能脚本填参的助手
|
||
技能名:{{state.skill}}
|
||
脚本名:{{state.script}}
|
||
{% set schema = kit.get_script_params(state.skill, state.script) %}
|
||
{% if schema %}
|
||
脚本需要的参数:{{json.dumps(schema.inputs, ensure_ascii=False)}}
|
||
{% else %}
|
||
脚本不需要的参数
|
||
{% endif %}
|
||
|
||
用户原始需求:
|
||
\"\"\"{{state.user_intent}}\"\"\"
|
||
|
||
已有的参数:
|
||
{{json.dumps(state.params, ensure_ascii=False)}}
|
||
|
||
缺失参数:
|
||
{{json.dumps(state.missing, ensure_ascii=False)}}
|
||
|
||
用户回复:
|
||
\"\"\"{{user_reply}}\"\"\"
|
||
|
||
任务:
|
||
- 仅抽取缺失参数的值
|
||
- 不要修改已知参数的值
|
||
- 所有输出必须符合技能脚本的参数要求
|
||
- 值输出缺失参数JSON
|
||
"""
|
||
}
|
||
|
||
three_candidates_tmpl = {
|
||
"en":"""
|
||
User request:
|
||
\"\"\"{{json.dumps(prompt, ensure_ascii=False)}}\"\"\"
|
||
|
||
Available skills:
|
||
{{skill_list}}
|
||
|
||
Task:
|
||
Select up to 3 most relevant skill's scripts.
|
||
|
||
Output JSON list only.
|
||
""",
|
||
"zh":"""
|
||
用户需求:
|
||
\"\"\"{{json.dumps(prompt, ensure_ascii=False)}}\"\"\"
|
||
|
||
可用的技能脚本:
|
||
{% for s in skills %}
|
||
名字:{{s.metadata.name}}
|
||
描述:{{s.metadata.description}}
|
||
{% if s.scripts %}
|
||
脚本:
|
||
{% for sc in s.scripts %}
|
||
名字:{{sc.name}}
|
||
{% set schema = kit.get_script_schema(s.metadata.name, sc.name) %}
|
||
{% if schema %}
|
||
描述:{{schema.description or sc.description}}
|
||
参数:{{json.dumps(kit.get_script_params(s.metadata.name, sc.name), ensure_ascii=False)}}
|
||
{% else %}
|
||
描述:{{sc.description}}
|
||
{% endif %}
|
||
{% endfor %}
|
||
{% endif %}
|
||
{% endfor %}
|
||
任务:
|
||
- 选择3个相关的技能脚本
|
||
- 按照脚本参数要求,为脚本从用户需求中识别出参数
|
||
|
||
输出
|
||
仅输出json数组,每个元素为
|
||
{
|
||
"skill":技能名字,
|
||
"skill_desc":技能描述(很重要不能缺失)
|
||
"script":脚本名字,
|
||
“script_desc”:脚本描述(很重要不能缺失)
|
||
“params”:参数字典,key为参数名,value为参数值
|
||
“missing_params”:如果有缺失参数,将缺失参数的参数名放在这数组里
|
||
}
|
||
"""
|
||
}
|
||
|
||
ask_user_reply_tmpl = {
|
||
"en":"""
|
||
User request:
|
||
\"\"\"{{user_text}}\"\"\"
|
||
|
||
The script "{{script}} in skill "{{skill}}" requires the following missing parameters:
|
||
{{json.dumps(fields, ensure_ascii=False)}}
|
||
|
||
Ask the user a concise clarification question.
|
||
""",
|
||
"zh":"""
|
||
用户需求
|
||
\"\"\"{{user_text}}\"\"\"
|
||
|
||
这个技能“{{skill}}“下的脚本”{{script}}“需要这些参数:
|
||
{{json.dumps(fields, ensure_ascii=False)}}
|
||
请用户继续完善问题
|
||
"""
|
||
}
|