Weird messages in cmd while running crewai agents in Langflow

9cbw7uwe  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(26)

Bug描述

在运行crewai代理和Langflow中的顺序任务/船员功能时,cmd中出现奇怪的消息?它也永远无法得到输出。这是什么原因导致的?

重现步骤

预期行为

我本应得到一个输出,告诉我2+2等于多少,然后应该加上3,但结果却永远无法得到。

谁可以帮忙?

  • 无响应*

操作系统

Windows

Langflow版本

最新版本

Python版本

3.12

截图

  • 无响应*

流程文件

Error.json

jfewjypa

jfewjypa1#

嘿,@Swephoenix!我在这里协助你解决任何bug、问题或贡献。让我们一起解决你的问题。
命令行中的奇怪消息以及在运行crewai代理和Langflow中的顺序任务/crew功能时输出所需的时间过长可能是由于AgentExecutor初始化中的verbose=True设置导致的。此设置启用了详细日志记录,这可能会产生大量输出并可能降低执行速度。
为了减少命令行消息并可能提高性能,你可以设置verbose=False:

runnable = AgentExecutor.from_agent_and_tools(
    agent=agent,  # type: ignore
    tools=tools,
    verbose=False,  # Disable verbose logging
    handle_parsing_errors=handle_parsing_errors,
)

此外,Langflow中的回调设置也可能对输出和性能产生影响。确保这些回调正确配置且仅在必要时使用,可以帮助减轻这个问题。

def setup_callbacks(sync, trace_id, **kwargs):
    """Setup callbacks for langchain object"""
    callbacks = []
    if sync:
        callbacks.append(StreamingLLMCallbackHandler(**kwargs))
    else:
        callbacks.append(AsyncStreamingLLMCallbackHandler(**kwargs))

    plugin_service = get_plugins_service()
    plugin_callbacks = plugin_service.get_callbacks(_id=trace_id)
    if plugin_callbacks:
        callbacks.extend(plugin_callbacks)
    return callbacks

审查和优化回调设置,确保不添加不必要的回调,也可以帮助提高性能并减少不需要的命令行消息1(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/base/agents/agent.py)2(https://github.com/logspace-ai/langflow/blob/dev/src/backend/langflow/processing/base.py)。

  • 要继续与Dosu交谈,请提及@dosu。*
lskq00tm

lskq00tm2#

感谢澄清。这段代码应该放在Sequential任务函数中,而不是Sequential Crew中,也不是在代理人本身。

yk9xbfzb

yk9xbfzb3#

提供的代码片段用于在 AgentExecutor 初始化和回调设置中设置 verbose=False。具体来说,您应该修改每个代理类的 from_toolkit_and_llm 方法以设置 verbose=False
例如,在 JsonAgent 类中,您将更改:

return cls.from_agent_and_tools(agent=agent, tools=tools, verbose=True)

为:

return cls.from_agent_and_tools(agent=agent, tools=tools, verbose=False)

同样,对于 CSVAgent 类,您将更改:

return cls.from_agent_and_tools(agent=agent, tools=tools, verbose=True)

为:

return cls.from_agent_and_tools(agent=agent, tools=tools, verbose=False)

而对于 VectorStoreAgent 类,您将更改:

return AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True, handle_parsing_errors=True)

为:

return AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=False, handle_parsing_errors=True)

此外,在 get_result_and_steps 函数中,您应在 AgentExecutor 初始化中设置 verbose=False:

if hasattr(langchain_object, "verbose"):
    langchain_object.verbose = False

这种模式应应用于提供代码 1(https://github.com/logspace-ai/langflow/blob/dev/src/backend/langflow/interface/agents/custom.py)2(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/interface/agents/custom.py)3(https://github.com/logspace-ai/langflow/blob/dev/src/backend/langflow/interface/initialize/loading.py)4(https://github.com/logspace-ai/langflow/blob/dev/src/backend/base/langflow/processing/base.py)5(https://github.com/logspace-ai/langflow/blob/dev/src/backend/langflow/processing/base.py) 中的所有相关代理类和函数。

  • 要继续与 Dosu 交谈,请提及 @dosu。*

相关问题