CrewAI 工具正在缓存我的回复。如何禁用它

问题描述 投票:0回答:1

我在 CrewAI 中创建了一个自定义工具来请求人类提供信息。我创建这个工具是因为我发现将人类纳入循环情况非常有用。

但我面临一个问题。每次调用该工具以引出人类的一些输入时,前几次我都能给出我的输入。但在那之后的时间里,回复会自动填充我之前给出的回复。这不允许我给出我想要给出的输入。

这就是我的自定义 CrewAI 工具的样子,我已将此工具提供给执行某些任务的代理,并且在需要人工输入或信息的任何情况下,它都会调用此工具。

class AskHumanInputTool(BaseTool):
    name: str = "AskHumanInputTool"
    description: str = ("""This tool is used for asking a human input. 
                           This tool takes a question as an input and ask the input. 
                           The tool return a the answer received.""")

    def _run(self, question_for_human: str) -> str:
        human_input = input(question_for_human)
        return human_input

我还没有为工具实现任何缓存机制。我还在我的团队中设置了

cache=False
。我该如何解决这个问题?

我不确定是否是因为生成了

__pycache__
文件夹来缓存输入响应

如何解决这个问题?我正在尝试构建一个多代理系统。

caching large-language-model agent multi-agent crewai
1个回答
0
投票

您需要在您的工具中实现

cache_function
默认情况下,它是一个始终返回 True 的 lambda 函数。只需将以下内容添加到您的
AskHumanInputTool
中,缓存就会消失:

def cache_function(*args):
    return False
© www.soinside.com 2019 - 2024. All rights reserved.