[Python] CrewAI error when trying to use the LangChain tool: Input should be a valid...

Discussão em 'Python' iniciado por Stack, Janeiro 10, 2025.

  1. Stack

    Stack Membro Participativo

    Here is my code:

    import os
    from crewai import Agent, Task, Crew, Process
    from crewai_tools import SerperDevTool
    from langchain_community.tools import DuckDuckGoSearchResults
    from langchain.agents import Tool
    os.environ["OPENAI_API_KEY"] = 'I deleted it'
    os.environ["OPENAI_API_BASE"] = 'deleted'
    os.environ["OPENAI_MODEL_NAME"] ='gpt-4o' # 根据可用模型进行调整



    duckduckgo_search = DuckDuckGoSearchResults()

    # 定义您的代理及其角色和目标
    researcher = Agent(
    role='高级研究分析师',
    goal='揭示AI和数据科学的前沿发展',
    backstory="""您在一家领先的科技智库工作。
    您的专长在于识别新兴趋势。
    您擅长剖析复杂数据并提供可行的见解。""",
    verbose=True,
    allow_delegation=False,
    tools=[duckduckgo_search]
    )
    writer = Agent(
    role='技术内容策略师',
    goal='撰写引人入胜的科技进展内容',
    backstory="""您是一位著名的内容策略师,以深刻且引人入胜的文章而闻名。
    您将复杂概念转化为引人注目的叙述。""",
    verbose=True,
    allow_delegation=True
    )

    # 为您的代理创建任务
    task1 = Task(
    description="""对2024年AI的最新进展进行全面分析。
    确定关键趋势、突破性技术和潜在行业影响。""",
    expected_output="完整的分析报告,以要点形式呈现",
    agent=researcher
    )

    task2 = Task(
    description="""根据提供的见解,撰写一篇引人入胜的博客
    文章,突出最重要的AI进展。
    您的文章应信息丰富且易于理解,适合科技爱好者。
    让它听起来酷一些,避免复杂的词汇,以免听起来像AI写的。""",
    expected_output="至少4段的完整博客文章",
    agent=writer
    )

    # 使用顺序过程实例化您的团队
    crew = Crew(
    agents=[researcher, writer],
    tasks=[task1, task2],
    verbose=True, # 您可以将其设置为1或2以选择不同的日志级别
    process = Process.sequential
    )

    # 让您的团队开始工作!
    result = crew.kickoff()

    print("######################")
    print(result)


    The runtime error is as follows:

    Traceback (most recent call last):
    File "D:\anacoda\envs\for_paper\src\cai.py", line 43, in <module>
    researcher = Agent(
    ^^^^^^
    File "D:\anacoda\Lib\site-packages\pydantic\main.py", line 212, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    pydantic_core._pydantic_core.ValidationError: 1 validation error for Agent
    tools.0
    Input should be a valid dictionary or instance of BaseTool [type=model_type, input_value=Tool(name='duckduckgo_sea...'api', source='text'))>), input_type=Tool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type

    Continue reading...

Compartilhe esta Página