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