"modelscope执行这个语句为什么会报错?agent = AgentExecutor(llm, tool_cfg),
21 agent = AgentExecutor(llm, tool_cfg)
/content/modelscope-agent/demo/../modelscope_agent/llm/llm_factory.py in build_llm(model_name, cfg)
23 @staticmethod
24 def build_llm(model_name, cfg):
---> 25 llm_type = cfg[model_name].pop('type')
26 llm_cls = get_llm_cls(llm_type, model_name)
27 llm_cfg = cfg[model_name]
KeyError: 'type'"
您输入一下token,登modelscope官网 / 首页 / 令牌 / sdk token,如果文件夹较多的话,os.chdir用绝对路径。 此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”
这个错误信息表明在执行AgentExecutor
初始化时,传入的配置文件(tool_cfg
)中对于模型名称(model_name
)对应的键值中没有找到 'type'
键。在 /content/modelscope-agent/demo/../modelscope_agent/llm/llm_factory.py
文件的 build_llm
函数中,第25行尝试从配置字典 cfg[model_name]
中移除并返回 'type'
键的值。由于这个键不存在,所以抛出了 KeyError
。要解决这个问题,您需要检查以下几点:
确保在您的配置文件(tool_cfg
)中,为模型名称(model_name
)定义了一个包含 'type'
键的子字典。例如:
tool_cfg = {
'my_model_name': {
'type': 'my_model_type',
# 其他配置项...
},
# 其他模型的配置...
}
AgentExecutor
的模型名称与配置文件中的键匹配。