RuntimeError: Task execution failed: litellm.Timeout: APITimeoutError
大家好,我是 程序员码递夫。
问题
最近测试CrewAi 调用本地大模型 跑一些 AI应用,在一些应用中,运行报错,类似
最明显的错误提示是:RuntimeError: Task execution failed: litellm.Timeout: APITimeoutError
分析
我把最大执行时间参数都设成 1000秒了(max_execution_time=1000), 问题还是一样出现。
这个问题同样困扰了很多网友,尤其是国内的。 默认 CrewAi 默认调用的大模型是 gpt-4, 而 gpt-4的母公司对国内访问很不友好是禁止使用的,当 CrewAi 的 Agent 不指定 llm 参数,那么就会调用 gpt-4, 这样一来 你就会收到 超时的错误, 因为你的 agent 根本连不到 国外的 gpt-4。
解决问题
解决方法就是,在你 每个 Agent 调用时,都要把 llm 参数 设置好, 而且给 llm参数 指定的大模型,一定要可以访问到。 (我使用的是ollma本地大模型,没有访问限制的问题)。
如
@CrewBase
class ExpandIdeaCrew:"""ExpandIdea crew"""agents_config = 'config/agents.yaml'tasks_config = 'config/tasks.yaml'ollama_openhermes = OllamaLLM(model="ollama/SimonPu/qwen3:30B-2507-Q4_K_XL")@agentdef senior_idea_analyst_agent(self) -> Agent:return Agent(config=self.agents_config['senior_idea_analyst'],allow_delegation=False,llm=self.ollama_openhermes,max_execution_time=1000,verbose=True)
最后再次强调,必须是 每个 Agent 调用时,都要把 llm 参数 设置好。漏掉一个没设置,也会引起报错的。