You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CrewAI构建AI代理系统时遭遇litellm.BadRequestError错误,寻求解决方案

CrewAI构建AI代理系统时遭遇litellm.BadRequestError错误,寻求解决方案

兄弟,你碰到的这个错误根源很明确:litellm在处理Ollama模型的时候,拿到的是一个Ollama对象,但它实际需要的是字符串格式的模型名称,所以调用split()方法时直接炸了。我给你捋几个排查解决的步骤,应该能搞定:

先检查你的Agent配置(agents.py文件)

问题十有八九出在你定义researcher代理的LLM设置里。你大概率是直接把Ollama实例传给了CrewAI的Agent,而不是通过litellm正确指定模型。

比如你可能这么写了(错误示范):

from langchain_community.llms import Ollama
from crewai import Agent

class TextGenerationAgents:
    def researcher(self):
        ollama_llm = Ollama(model="llama2")
        return Agent(
            role='Researcher',
            goal='你的研究目标描述',
            backstory='你的代理背景故事',
            llm=ollama_llm  # 这里直接传Ollama对象就是问题所在
        )

你得改成用litellm来正确指定Ollama模型,两种写法都可以:

import litellm
from crewai import Agent

class TextGenerationAgents:
    def researcher(self):
        # 写法一:用litellm的格式指定Ollama模型
        llm = "ollama/llama2"  # 格式是"ollama/你的模型名"
        
        # 写法二:如果需要自定义Ollama的参数,用litellm.completion包装
        # llm = litellm.completion(
        #     model="ollama/llama2",
        #     temperature=0.7,
        #     max_tokens=1000
        # )
        
        return Agent(
            role='Researcher',
            goal='深入研究指定主题,输出结构化的研究结果',
            backstory='你是一名经验丰富的行业研究员,擅长挖掘主题背后的关键信息',
            llm=llm
        )

然后确认版本兼容性

有时候新旧版本不兼容也会搞出这种奇怪的问题,建议你把相关依赖都更到最新稳定版:

pip install --upgrade litellm crewai ollama

再验证Ollama服务本身没问题

别光顾着代码,先确认本地Ollama服务是正常跑的,模型也拉下来了:

  • 打开终端输ollama serve,确保服务在运行(如果没后台启动的话)
  • 输ollama run llama2测试下,能正常对话就说明服务和模型都没问题

最后检查Crew的初始化参数

回到你的crew.py,确认Crew的初始化没别的问题。比如你设的verbose=True是对的,任务定义里也别给Agent传错参数。

要是按上面的步骤改完还不行,你把agents.py里researcher方法的完整代码贴出来,我再帮你细揪。但按经验来看,调整LLM的配置这一步应该就能解决那个'Ollama' object has no attribute 'split'的破问题了。

备注:内容来源于stack exchange,提问作者Usama Amjad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:09:35