bugfix
This commit is contained in:
parent
6cc1fdeb4e
commit
6e748bd482
@ -80,7 +80,6 @@ class DummyLLM(LLM):
|
||||
continue
|
||||
if d.get('content'):
|
||||
doc = f'{doc}{d["content"]}'
|
||||
debug(f'{doc=}')
|
||||
return doc
|
||||
|
||||
# ---------------------------
|
||||
@ -118,6 +117,7 @@ class Agent:
|
||||
candidates = await self._candidate_skills(user_text)
|
||||
decision = await self._plan_with_candidates(user_text, candidates)
|
||||
try:
|
||||
debug(f'{decision=}')
|
||||
validated_params = self._validate_params(decision)
|
||||
except MissingParams as e:
|
||||
question = await self._ask_user_for_params(user_text, decision.skill, decision.script, e.fields)
|
||||
|
||||
@ -88,3 +88,26 @@ class ParameterResolver:
|
||||
|
||||
return ResolvedParams(params=validated)
|
||||
|
||||
if __name__ == '__main__':
|
||||
params = {'a': 12312, 'op': '*', 'b': 233}
|
||||
schema = {
|
||||
"a": {
|
||||
"type": "int or float",
|
||||
"required": True,
|
||||
"description": "计算左值"
|
||||
},
|
||||
"op": {
|
||||
"type": "str",
|
||||
"required": True,
|
||||
"description": "计算方法",
|
||||
"enum": ["+", "-", "*", "/"]
|
||||
},
|
||||
"b": {
|
||||
"type": "int or float",
|
||||
"required": True,
|
||||
"description": "计算左值"
|
||||
}
|
||||
}
|
||||
p = ParameterResolver(schema)
|
||||
x = p.resolve(params)
|
||||
print(x)
|
||||
|
||||
@ -75,6 +75,7 @@ class SkillkitWrapper:
|
||||
m = self.get_script_schema(skill_name, script_name)
|
||||
if not m:
|
||||
return []
|
||||
|
||||
return m.inputs
|
||||
|
||||
def get_skill_scripts(self, skill_name):
|
||||
|
||||
@ -139,7 +139,7 @@ Output JSON list only.
|
||||
{% set schema = kit.get_script_schema(s.metadata.name, sc.name) %}
|
||||
{% if schema %}
|
||||
描述:{{schema.description or sc.description}}
|
||||
参数:{{json.dumps(schema.params, ensure_ascii=False)}}
|
||||
参数:{{json.dumps(kit.get_script_params(s.metadata.name, sc.name), ensure_ascii=False)}}
|
||||
{% else %}
|
||||
描述:{{sc.description}}
|
||||
{% endif %}
|
||||
@ -151,7 +151,7 @@ Output JSON list only.
|
||||
- 按照脚本参数要求,为脚本从用户需求中识别出参数
|
||||
|
||||
输出
|
||||
仅输出json,每个元素为
|
||||
仅输出json数组,每个元素为
|
||||
{
|
||||
"skill":技能名字,
|
||||
"skill_desc":技能描述(很重要不能缺失)
|
||||
|
||||
@ -10,7 +10,7 @@ scripts:
|
||||
type: str
|
||||
required: true
|
||||
description: 计算方法
|
||||
enum: [+ - * /]
|
||||
enum: ['+', '-', '*', '/']
|
||||
b:
|
||||
type: int or float
|
||||
required: true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user