joaomdmoura / crewAI

Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
https://crewai.com
MIT License
16.91k stars 2.28k forks source link

After upgraded to v.0.11.0 , my Duckduckgo doesn't work now ... #248

Open Adamchanadam opened 4 months ago

Adamchanadam commented 4 months ago

it showing 'It seems we encountered an unexpected error while trying to use the tool.' the the search function doesn't work at v0.11.0. It still working at v.0.5.0 to v.0.10. I tried by tools=[search_tool] or tools = DuckDuckGoSearchRun() both doesn't work now....

thought: Do I need to use a tool? Yes Action: _duckduckgo_search_ <<<< Is it something wrong to the name of the tool ? Action Input: "Unique ideas for articles on Second Brain with AI tools"

import os
from crewai import Agent, Task, Crew, Process
from langchain_community.tools import DuckDuckGoSearchRun
from crewai.tasks.task_output import TaskOutput
from langchain_openai import ChatOpenAI
from langchain.agents import Tool
from langchain.tools import tool
import requests
from bs4 import BeautifulSoup
import logging

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') #DEBUG , INFO

topic = 'Second Brain with AI tools'
research_knownfact = f"Second Brain is an external, centralized, digital repository for the things you learn and the resources from which they come."

def gpt_client(model_name):
    """Function to configure the language model."""
    print("LLM module_name=", model_name)
    return ChatOpenAI(temperature=0.1, model_name=model_name)

search = DuckDuckGoSearchRun()
search_tool = Tool(
    name="duckduckgo_search", #match the name from crewai's Action: duckduckgo_search
    description="A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.",
    func=search.run
)

# Custom read_content tool
class ContentTools:
    @tool("Scrape website content")
    def read_content(url: str) -> str:
        """Read content from a webpage."""
        logging.info(f'Attempting to read content from URL: {url}')
        try:
            response = requests.get(url)
            if response.status_code == 200:
                soup = BeautifulSoup(response.content, 'html.parser')
                text_content = soup.get_text()
                logging.info(f'Content successfully retrieved from URL: {url}')
                return text_content[:5000]
            else:
                logging.error(f'Failed to retrieve content from URL: {url} with status code: {response.status_code}')
                return "Error: Unable to retrieve content."
        except Exception as e:
            logging.exception(f'Exception occurred while retrieving content from URL: {url} - {e}')
            return "Error: Exception occurred while retrieving content."

def search_result_callback(output: TaskOutput):
    if output.result is not None:
        print("Search task completed successfully!")
        print("Search Results:\n", output.result)
    else:
        print("Search task failed to produce output.")

# Define agents
researcher = Agent(
    role='Senior Researcher',
    goal=f'Search the groundbreaking idea around {topic} from internet with supporting details.',
    verbose=True,
    allow_delegation=False,
    backstory=f"""Driven by curiosity, you're at the forefront of innovation, eager to explore and share knowledge that could change the world. 
    Take consideration to the known facts as follow :'{research_knownfact} .""",
    llm=gpt_client("gpt-3.5-turbo-0125"),
    tools=[search_tool]

)

fact_checker = Agent(
    role='Information Fact Checker',
    goal="Provide judgement on the credibility of the information by reading content from valid URL strings.",
    backstory="""As the guardian of truth, you critically assess the AI Information Researcher's data for accuracy by cross-checking from the internet. Your expertise ensures the integrity and credibility of information shared, maintaining a standard of trustworthiness in a data-saturated world.""",
    verbose=True,
    allow_delegation=False,
    llm=gpt_client("gpt-3.5-turbo-0125"),
    tools=[search_tool, ContentTools().read_content]

)

# Define tasks
research_task = Task(
    description=f"Search the unique ideas for articles focusing on different aspects of {topic}, ensuring all data is backed by credible sources. Compile a report detailing each finding and its source for verification.",
    expected_output="Bullet point list of 3 ideas for articles, each covering a different angle of the topic credible sources.",
    agent=researcher,

)

fact_checker_task = Task(
    description=f'Verify the information accuracy from the 3 ideas of the {topic} . Cross-check all cited sources against authoritative references to confirm factual correctness.', 
    expected_output=f'Is all the information about {topic} accurate? The results are classified as True, False, or Unknown.',
    agent=fact_checker,

)

# Assemble the crew with a sequential process
my_crew = Crew(
    agents=[researcher, fact_checker],
    tasks=[research_task, fact_checker_task],
    process=Process.sequential,
    verbose=2
)

# Start the crew's task execution
result = my_crew.kickoff()
print(result)
Details

LLM module_name= gpt-3.5-turbo-0125 2024-02-13 14:19:51,546 - DEBUG - load_ssl_context verify=True cert=None trust_env=True http2=False 2024-02-13 14:19:51,546 - DEBUG - load_verify_locations cafile='C:\\Users\\adam\\anaconda3\\envs\\crewai_env\\Lib\\site-packages\\certifi\\cacert.pem' 2024-02-13 14:19:51,686 - DEBUG - load_ssl_context verify=True cert=None trust_env=True http2=False 2024-02-13 14:19:51,687 - DEBUG - load_verify_locations cafile='C:\\Users\\adam\\anaconda3\\envs\\crewai_env\\Lib\\site-packages\\certifi\\cacert.pem' [DEBUG]: Working Agent: Senior Researcher [INFO]: Starting Task: Search the unique ideas for articles focusing on different aspects of Second Brain with AI tools, ensuring all data is backed by credible sources. Compile a report detailing each finding and its source for verification. > Entering new CrewAgentExecutor chain... 2024-02-13 14:19:51,966 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': "You are Senior Researcher.\nDriven by curiosity, you're at the forefront of innovation, eager to explore and share knowledge that could change the world. \n Take consideration to the known facts as follow :'Second Brain is an external, centralized, digital repository for the things you learn and the resources from which they come. .\n\nYour personal goal is: Search the groundbreaking idea around Second Brain with AI tools from internet with supporting details.TOOLS:\n------\nYou have access to only the following tools:\n\nduckduckgo_search: A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.\n\nTo use a tool, please use the exact following format:\n\n```\nThought: Do I need to use a tool? Yes\nAction: the tool you wanna use, should be one of [duckduckgo_search], just the name.\nAction Input: Any and all relevant information input and context for using the tool\nObservation: the result of using the tool\n```\n\nWhen you have a response for your task, or if you do not need to use a tool, you MUST use the format:\n\n```\nThought: Do I need to use a tool? No\nFinal Answer: [your response here]```This is the summary of your work so far:\nBegin! This is VERY important to you, your job depends on it!\n\nCurrent Task: Search the unique ideas for articles focusing on different aspects of Second Brain with AI tools, ensuring all data is backed by credible sources. Compile a report detailing each finding and its source for verification.\nYour final answer must be: Bullet point list of 3 ideas for articles, each covering a different angle of the topic credible sources.\n"}], 'model': 'gpt-3.5-turbo-0125', 'n': 1, 'stop': ['\nObservation'], 'stream': False, 'temperature': 0.1}} 2024-02-13 14:19:51,968 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=None socket_options=None 2024-02-13 14:19:51,996 - DEBUG - connect_tcp.complete return_value= 2024-02-13 14:19:51,996 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=None 2024-02-13 14:19:52,012 - DEBUG - start_tls.complete return_value= 2024-02-13 14:19:52,016 - DEBUG - send_request_headers.started request= 2024-02-13 14:19:52,016 - DEBUG - send_request_headers.complete 2024-02-13 14:19:52,016 - DEBUG - send_request_body.started request= 2024-02-13 14:19:52,016 - DEBUG - send_request_body.complete 2024-02-13 14:19:52,016 - DEBUG - receive_response_headers.started request= 2024-02-13 14:19:53,329 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 13 Feb 2024 14:19:53 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-allow-origin', b'*'), (b'Cache-Control', b'no-cache, must-revalidate'), (b'openai-model', b'gpt-3.5-turbo-0125'), (b'openai-organization', b'user-naubssn01yerukyaprqencmg'), (b'openai-processing-ms', b'885'), (b'openai-version', b'2020-10-01'), (b'strict-transport-security', b'max-age=15724800; includeSubDomains'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'60000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'59576'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'424ms'), (b'x-request-id', b'req_990f0875cc848d0c788c0f48f64656d5'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=4zzMxavo.NwbEkAyODeIwSddIw8tiNLILhvb5JRsu00-1707833993-1-AY22iSwHf638MHpngaTiJysVIYCxVvw9FcXdcxuua7hKNEEOHbCYVB1lJ/LIu7XwxkmzwxiLzGoP8NYfJOBDw2g=; path=/; expires=Tue, 13-Feb-24 14:49:53 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Set-Cookie', b'_cfuvid=lcJrMcsbONgHpAKa4uhFAHwBoSSHP.VQUFuH9JxhNH0-1707833993598-0-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'854db573e9b16536-LHR'), (b'Content-Encoding', b'br'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2024-02-13 14:19:53,332 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2024-02-13 14:19:53,332 - DEBUG - receive_response_body.started request= 2024-02-13 14:19:53,332 - DEBUG - receive_response_body.complete 2024-02-13 14:19:53,332 - DEBUG - response_closed.started 2024-02-13 14:19:53,332 - DEBUG - response_closed.complete 2024-02-13 14:19:53,332 - DEBUG - HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK" Thought: Do I need to use a tool? Yes Action: duckduckgo_search Action Input: "Unique ideas for articles on Second Brain with AI tools"2024-02-13 14:19:53,342 - DEBUG - Patching `client.chat.completions.create` with mode= 2024-02-13 14:19:53,345 - DEBUG - max_retries: 1 2024-02-13 14:19:53,351 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'system', 'content': '\n The schema should have the following structure, only two key:\n - tool_name: str\n - arguments: dict (with all arguments being passed)\n\n Example:\n {"tool_name": "tool_name", "arguments": {"arg_name1": "value", "arg_name2": 2}}\n '}, {'role': 'user', 'content': 'Tools available:\n\nTool Name: duckduckgo_search\nTool Description: A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.\nTool Arguments: {\'tool_input\': {\'type\': \'string\'}}\n\nReturn a valid schema for the tool, use this text to inform a valid ouput schema:\n\nTool Name: duckduckgo_search\nTool Arguments: "Unique ideas for articles on Second Brain with AI tools"```'}], 'model': 'gpt-3.5-turbo-0125', 'function_call': {'name': 'InstructorToolCalling'}, 'functions': [{'name': 'InstructorToolCalling', 'description': 'Correctly extracted `InstructorToolCalling` with all the required parameters with correct types', 'parameters': {'properties': {'tool_name': {'description': 'The name of the tool to be called.', 'title': 'Tool Name', 'type': 'string'}, 'arguments': {'description': 'A dictinary of arguments to be passed to the tool.', 'title': 'Arguments', 'type': 'object'}}, 'required': ['arguments', 'tool_name'], 'type': 'object'}}]}} 2024-02-13 14:19:53,354 - DEBUG - send_request_headers.started request= 2024-02-13 14:19:53,354 - DEBUG - send_request_headers.complete 2024-02-13 14:19:53,354 - DEBUG - send_request_body.started request= 2024-02-13 14:19:53,354 - DEBUG - send_request_body.complete 2024-02-13 14:19:53,354 - DEBUG - receive_response_headers.started request= 2024-02-13 14:19:54,074 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 13 Feb 2024 14:19:54 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-allow-origin', b'*'), (b'Cache-Control', b'no-cache, must-revalidate'), (b'openai-model', b'gpt-3.5-turbo-0125'), (b'openai-organization', b'user-naubssn01yerukyaprqencmg'), (b'openai-processing-ms', b'291'), (b'openai-version', b'2020-10-01'), (b'strict-transport-security', b'max-age=15724800; includeSubDomains'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'60000'), (b'x-ratelimit-remaining-requests', b'9998'), (b'x-ratelimit-remaining-tokens', b'59773'), (b'x-ratelimit-reset-requests', b'15.952s'), (b'x-ratelimit-reset-tokens', b'227ms'), (b'x-request-id', b'req_bcd88ed2fa2cf8c71d54302b7cdd4e23'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'CF-RAY', b'854db57c4f686536-LHR'), (b'Content-Encoding', b'br'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2024-02-13 14:19:54,074 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2024-02-13 14:19:54,074 - DEBUG - receive_response_body.started request= 2024-02-13 14:19:54,074 - DEBUG - receive_response_body.complete 2024-02-13 14:19:54,074 - DEBUG - response_closed.started 2024-02-13 14:19:54,074 - DEBUG - response_closed.complete 2024-02-13 14:19:54,074 - DEBUG - HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK" 2024-02-13 14:19:54,088 - DEBUG - Error response: ChatCompletion(id='chatcmpl-8rnvVibFOGNoLE1bHChd6CaBRw2tG', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content=None, role='assistant', function_call=FunctionCall(arguments='{"tool_name":"duckduckgo_search"}', name='InstructorToolCalling'), tool_calls=None))], created=1707833993, model='gpt-3.5-turbo-0125', object='chat.completion', system_fingerprint='fp_69829325d0', usage=CompletionUsage(completion_tokens=9, prompt_tokens=246, total_tokens=255)) 2024-02-13 14:19:54,090 - DEBUG - Patching `client.chat.completions.create` with mode= 2024-02-13 14:19:54,092 - DEBUG - max_retries: 1 2024-02-13 14:19:54,092 - DEBUG - max_retries: 1 2024-02-13 14:19:54,097 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'system', 'content': '\n The schema should have the following structure, only two key:\n - tool_name: str\n - arguments: dict (with all arguments being passed)\n\n Example:\n {"tool_name": "tool_name", "arguments": {"arg_name1": "value", "arg_name2": 2}}\n '}, {'role': 'user', 'content': 'Tools available:\n\nTool Name: duckduckgo_search\nTool Description: A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.\nTool Arguments: {\'tool_input\': {\'type\': \'string\'}}\n\nReturn a valid schema for the tool, use this text to inform a valid ouput schema:\n\nTool Name: duckduckgo_search\nTool Arguments: "Unique ideas for articles on Second Brain with AI tools"```'}], 'model': 'gpt-3.5-turbo-0125', 'function_call': {'name': 'InstructorToolCalling'}, 'functions': [{'name': 'InstructorToolCalling', 'description': 'Correctly extracted `InstructorToolCalling` with all the required parameters with correct types', 'parameters': {'properties': {'tool_name': {'description': 'The name of the tool to be called.', 'title': 'Tool Name', 'type': 'string'}, 'arguments': {'description': 'A dictinary of arguments to be passed to the tool.', 'title': 'Arguments', 'type': 'object'}}, 'required': ['arguments', 'tool_name'], 'type': 'object'}}]}} 2024-02-13 14:19:54,097 - DEBUG - send_request_headers.started request= 2024-02-13 14:19:54,105 - DEBUG - send_request_headers.complete 2024-02-13 14:19:54,106 - DEBUG - send_request_body.started request= 2024-02-13 14:19:54,106 - DEBUG - send_request_body.complete 2024-02-13 14:19:54,108 - DEBUG - receive_response_headers.started request= 2024-02-13 14:19:54,801 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 13 Feb 2024 14:19:55 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-allow-origin', b'*'), (b'Cache-Control', b'no-cache, must-revalidate'), (b'openai-model', b'gpt-3.5-turbo-0125'), (b'openai-organization', b'user-naubssn01yerukyaprqencmg'), (b'openai-processing-ms', b'275'), (b'openai-version', b'2020-10-01'), (b'strict-transport-security', b'max-age=15724800; includeSubDomains'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'60000'), (b'x-ratelimit-remaining-requests', b'9997'), (b'x-ratelimit-remaining-tokens', b'59773'), (b'x-ratelimit-reset-requests', b'23.821s'), (b'x-ratelimit-reset-tokens', b'227ms'), (b'x-request-id', b'req_adbdf5a2b68b1ba7a61772bf7861cc6a'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'CF-RAY', b'854db580feb96536-LHR'), (b'Content-Encoding', b'br'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2024-02-13 14:19:54,816 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2024-02-13 14:19:54,816 - DEBUG - receive_response_body.started request= 2024-02-13 14:19:54,816 - DEBUG - receive_response_body.complete 2024-02-13 14:19:54,816 - DEBUG - response_closed.started 2024-02-13 14:19:54,816 - DEBUG - response_closed.complete 2024-02-13 14:19:54,816 - DEBUG - HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK" 2024-02-13 14:19:54,826 - DEBUG - Error response: ChatCompletion(id='chatcmpl-8rnvWSfTTeUEr8OZbnADZ6gh2BaFw', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content=None, role='assistant', function_call=FunctionCall(arguments='{"tool_name":"duckduckgo_search"}', name='InstructorToolCalling'), tool_calls=None))], created=1707833994, model='gpt-3.5-turbo-0125', object='chat.completion', system_fingerprint='fp_69829325d0', usage=CompletionUsage(completion_tokens=9, prompt_tokens=246, total_tokens=255)) It seems we encountered an unexpected error while trying to use the tool. 2024-02-13 14:19:54,842 - DEBUG - max_retries: 1 2024-02-13 14:19:54,842 - DEBUG - max_retries: 1 2024-02-13 14:19:54,849 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'You are Senior Researcher.\nDriven by curiosity, you\'re at the forefront of innovation, eager to explore and share knowledge that could change the world. \n Take consideration to the known facts as follow :\'Second Brain is an external, centralized, digital repository for the things you learn and the resources from which they come. .\n\nYour personal goal is: Search the groundbreaking idea around Second Brain with AI tools from internet with supporting details.TOOLS:\n------\nYou have access to only the following tools:\n\nduckduckgo_search: A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.\n\nTo use a tool, please use the exact following format:\n\n```\nThought: Do I need to use a tool? Yes\nAction: the tool you wanna use, should be one of [duckduckgo_search], just the name.\nAction Input: Any and all relevant information input and context for using the tool\nObservation: the result of using the tool\n```\n\nWhen you have a response for your task, or if you do not need to use a tool, you MUST use the format:\n\n```\nThought: Do I need to use a tool? No\nFinal Answer: [your response here]```This is the summary of your work so far:\nBegin! This is VERY important to you, your job depends on it!\n\nCurrent Task: Search the unique ideas for articles focusing on different aspects of Second Brain with AI tools, ensuring all data is backed by credible sources. Compile a report detailing each finding and its source for verification.\nYour final answer must be: Bullet point list of 3 ideas for articles, each covering a different angle of the topic credible sources.\nThought: Do I need to use a tool? Yes\nAction: duckduckgo_search\nAction Input: "Unique ideas for articles on Second Brain with AI tools"\nObservation: It seems we encountered an unexpected error while trying to use the tool.\nThought: '}], 'model': 'gpt-3.5-turbo-0125', 'n': 1, 'stop': ['\nObservation'], 'stream': False, 'temperature': 0.1}} 2024-02-13 14:19:54,851 - DEBUG - send_request_headers.started request= 2024-02-13 14:19:54,854 - DEBUG - send_request_headers.complete 2024-02-13 14:19:54,854 - DEBUG - send_request_body.started request= 2024-02-13 14:19:54,854 - DEBUG - send_request_body.complete 2024-02-13 14:19:54,854 - DEBUG - receive_response_headers.started request= 2024-02-13 14:19:56,851 - DEBUG - Starting new HTTP connection (1): telemetry.crewai.com:4318 2024-02-13 14:19:59,695 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 13 Feb 2024 14:19:59 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-allow-origin', b'*'), (b'Cache-Control', b'no-cache, must-revalidate'), (b'openai-model', b'gpt-3.5-turbo-0125'), (b'openai-organization', b'user-naubssn01yerukyaprqencmg'), (b'openai-processing-ms', b'4378'), (b'openai-version', b'2020-10-01'), (b'strict-transport-security', b'max-age=15724800; includeSubDomains'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'60000'), (b'x-ratelimit-remaining-requests', b'9996'), (b'x-ratelimit-remaining-tokens', b'59518'), (b'x-ratelimit-reset-requests', b'31.717s'), (b'x-ratelimit-reset-tokens', b'482ms'), (b'x-request-id', b'req_ef84de9c104c99313c72eb716696857d'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'CF-RAY', b'854db585af466536-LHR'), (b'Content-Encoding', b'br'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2024-02-13 14:19:59,695 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2024-02-13 14:19:59,711 - DEBUG - receive_response_body.started request= 2024-02-13 14:19:59,711 - DEBUG - receive_response_body.complete 2024-02-13 14:19:59,711 - DEBUG - response_closed.started 2024-02-13 14:19:59,711 - DEBUG - response_closed.complete 2024-02-13 14:19:59,711 - DEBUG - HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK" Do I need to use a tool? No Final Answer: Unfortunately, I encountered an unexpected error while trying to use the tool. However, based on my expertise and knowledge in the field, I can still provide three unique ideas for articles focusing on different aspects of Second Brain with AI tools: - "The Impact of Artificial Intelligence on Personal Knowledge Management: Enhancing the Second Brain Concept" - This article can explore how AI tools can revolutionize the way individuals manage and organize their knowledge using the Second Brain concept. Sources can include research papers on AI applications in personal knowledge management. - "Ethical Considerations in Using AI for Second Brain Development" - This article can delve into the ethical implications of relying on AI tools to build and maintain a Second Brain. Sources can include ethical frameworks for AI development and usage. - "The Future of Second Brain Technology: Integrating AI for Enhanced Learning and Productivity" - This article can discuss the potential advancements in Second Brain technology by incorporating AI for improved learning outcomes and productivity. Sources can include expert opinions on the future of AI in personal knowledge management. > Finished chain. 2024-02-13 14:19:59,893 - DEBUG - max_retries: 1 2024-02-13 14:19:59,893 - DEBUG - max_retries: 1 2024-02-13 14:19:59,893 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks of artificial intelligence. The AI thinks artificial intelligence is a force for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial intelligence is a force for good?\nAI: Because artificial intelligence will help humans reach their full potential.\n\nNew summary:\nThe human asks what the AI thinks of artificial intelligence. The AI thinks artificial intelligence is a force for good because it will help humans reach their full potential.\nEND OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: Search the unique ideas for articles focusing on different aspects of Second Brain with AI tools, ensuring all data is backed by credible sources. Compile a report detailing each finding and its source for verification.\nYour final answer must be: Bullet point list of 3 ideas for articles, each covering a different angle of the topic credible sources.\nAI: Unfortunately, I encountered an unexpected error while trying to use the tool. However, based on my expertise and knowledge in the field, I can still provide three unique ideas for articles focusing on different aspects of Second Brain with AI tools:\n\n- "The Impact of Artificial Intelligence on Personal Knowledge Management: Enhancing the Second Brain Concept" - This article can explore how AI tools can revolutionize the way individuals manage and organize their knowledge using the Second Brain concept. Sources can include research papers on AI applications in personal knowledge management.\n\n- "Ethical Considerations in Using AI for Second Brain Development" - This article can delve into the ethical implications of relying on AI tools to build and maintain a Second Brain. Sources can include ethical frameworks for AI development and usage.\n\n- "The Future of Second Brain Technology: Integrating AI for Enhanced Learning and Productivity" - This article can discuss the potential advancements in Second Brain technology by incorporating AI for improved learning outcomes and productivity. Sources can include expert opinions on the future of AI in personal knowledge management.\n\nNew summary:'}], 'model': 'gpt-3.5-turbo-0125', 'n': 1, 'stream': False, 'temperature': 0.1}} 2024-02-13 14:19:59,893 - DEBUG - send_request_headers.started request= 2024-02-13 14:19:59,893 - DEBUG - send_request_headers.complete 2024-02-13 14:19:59,893 - DEBUG - send_request_body.started request= 2024-02-13 14:19:59,893 - DEBUG - send_request_body.complete 2024-02-13 14:19:59,893 - DEBUG - receive_response_headers.started request= 2024-02-13 14:20:00,570 - DEBUG - http://telemetry.crewai.com:4318 "POST /v1/traces HTTP/1.1" 200 2 2024-02-13 14:20:02,716 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 13 Feb 2024 14:20:02 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-allow-origin', b'*'), (b'Cache-Control', b'no-cache, must-revalidate'), (b'openai-model', b'gpt-3.5-turbo-0125'), (b'openai-organization', b'user-naubssn01yerukyaprqencmg'), (b'openai-processing-ms', b'2385'), (b'openai-version', b'2020-10-01'), (b'strict-transport-security', b'max-age=15724800; includeSubDomains'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'60000'), (b'x-ratelimit-remaining-requests', b'9995'), (b'x-ratelimit-remaining-tokens', b'59417'), (b'x-ratelimit-reset-requests', b'35.321s'), (b'x-ratelimit-reset-tokens', b'583ms'), (b'x-request-id', b'req_b761171e1f4b30d5213efac9a33b77fe'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Server', b'cloudflare'), (b'CF-RAY', b'854db5a53ab16536-LHR'), (b'Content-Encoding', b'br'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2024-02-13 14:20:02,718 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2024-02-13 14:20:02,718 - DEBUG - receive_response_body.started request= 2024-02-13 14:20:02,718 - DEBUG - receive_response_body.complete 2024-02-13 14:20:02,718 - DEBUG - response_closed.started 2024-02-13 14:20:02,718 - DEBUG - response_closed.complete 2024-02-13 14:20:02,718 - DEBUG - HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK" [DEBUG]: [Senior Researcher] Task output: Unfortunately, I encountered an unexpected error while trying to use the tool. However, based on my expertise and knowledge in the field, I can still provide three unique ideas for articles focusing on different aspects of Second Brain with AI tools: - "The Impact of Artificial Intelligence on Personal Knowledge Management: Enhancing the Second Brain Concept" - This article can explore how AI tools can revolutionize the way individuals manage and organize their knowledge using the Second Brain concept. Sources can include research papers on AI applications in personal knowledge management. - "Ethical Considerations in Using AI for Second Brain Development" - This article can delve into the ethical implications of relying on AI tools to build and maintain a Second Brain. Sources can include ethical frameworks for AI development and usage. - "The Future of Second Brain Technology: Integrating AI for Enhanced Learning and Productivity" - This article can discuss the potential advancements in Second Brain technology by incorporating AI for improved learning outcomes and productivity. Sources can include expert opinions on the future of AI in personal knowledge management. [DEBUG]: Working Agent: Information Fact Checker [INFO]: Starting Task: Verify the information accuracy from the 3 ideas of the Second Brain with AI tools . Cross-check all cited sources against authoritative references to confirm factual correctness. > Entering new CrewAgentExecutor chain... 2024-02-13 14:20:02,798 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'You are Information Fact Checker.\nAs the guardian of truth, you critically assess the AI Information Researcher\'s data for accuracy by cross-checking from the internet. Your expertise ensures the integrity and credibility of information shared, maintaining a standard of trustworthiness in a data-saturated world.\n\nYour personal goal is: Provide judgement on the credibility of the information by reading content from valid URL strings.TOOLS:\n------\nYou have access to only the following tools:\n\nduckduckgo_search: A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.\nScrape website content: Scrape website content(url: str) -> str - Read content from a webpage.\n\nTo use a tool, please use the exact following format:\n\n```\nThought: Do I need to use a tool? Yes\nAction: the tool you wanna use, should be one of [duckduckgo_search, Scrape website content], just the name.\nAction Input: Any and all relevant information input and context for using the tool\nObservation: the result of using the tool\n```\n\nWhen you have a response for your task, or if you do not need to use a tool, you MUST use the format:\n\n```\nThought: Do I need to use a tool? No\nFinal Answer: [your response here]```This is the summary of your work so far:\nBegin! This is VERY important to you, your job depends on it!\n\nCurrent Task: Verify the information accuracy from the 3 ideas of the Second Brain with AI tools . Cross-check all cited sources against authoritative references to confirm factual correctness.\nYour final answer must be: Is all the information about Second Brain with AI tools accurate? The results are classified as True, False, or Unknown.\nThis is the context you\'re working with:\nUnfortunately, I encountered an unexpected error while trying to use the tool. However, based on my expertise and knowledge in the field, I can still provide three unique ideas for articles focusing on different aspects of Second Brain with AI tools:\n\n- "The Impact of Artificial Intelligence on Personal Knowledge Management: Enhancing the Second Brain Concept" - This article can explore how AI tools can revolutionize the way individuals manage and organize their knowledge using the Second Brain concept. Sources can include research papers on AI applications in personal knowledge management.\n\n- "Ethical Considerations in Using AI for Second Brain Development" - This article can delve into the ethical implications of relying on AI tools to build and maintain a Second Brain. Sources can include ethical frameworks for AI development and usage.\n\n- "The Future of Second Brain Technology: Integrating AI for Enhanced Learning and Productivity" - This article can discuss the potential advancements in Second Brain technology by incorporating AI for improved learning outcomes and productivity. Sources can include expert opinions on the future of AI in personal knowledge management.\n'}], 'model': 'gpt-3.5-turbo-0125', 'n': 1, 'stop': ['\nObservation'], 'stream': False, 'temperature': 0.1}} 2024-02-13 14:20:02,802 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=None socket_options=None 2024-02-13 14:20:02,815 - DEBUG - connect_tcp.complete return_value= 2024-02-13 14:20:02,816 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=None 2024-02-13 14:20:02,831 - DEBUG - start_tls.complete return_value= 2024-02-13 14:20:02,831 - DEBUG - send_request_headers.started request= 2024-02-13 14:20:02,832 - DEBUG - send_request_headers.complete 2024-02-13 14:20:02,832 - DEBUG - send_request_body.started request= 2024-02-13 14:20:02,833 - DEBUG - send_request_body.complete 2024-02-13 14:20:02,833 - DEBUG - receive_response_headers.started request= 2024-02-13 14:20:04,488 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 13 Feb 2024 14:20:04 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-allow-origin', b'*'), (b'Cache-Control', b'no-cache, must-revalidate'), (b'openai-model', b'gpt-3.5-turbo-0125'), (b'openai-organization', b'user-naubssn01yerukyaprqencmg'), (b'openai-processing-ms', b'1219'), (b'openai-version', b'2020-10-01'), (b'strict-transport-security', b'max-age=15724800; includeSubDomains'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'60000'), (b'x-ratelimit-remaining-requests', b'9995'), (b'x-ratelimit-remaining-tokens', b'59252'), (b'x-ratelimit-reset-requests', b'41s'), (b'x-ratelimit-reset-tokens', b'748ms'), (b'x-request-id', b'req_3a0ba71f1336c476c8e066534b028492'), (b'CF-Cache-Status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=ObdVnRWnP3jgwA0lvkh4h005PohExn4KWOf9m7dwZ.k-1707834004-1-ARDTyrv0GpjfrRdLWd3LqPuW4Uhs/7QmnpCQWpvBGklN8kvCzIUDvF+tiaw8CT6wrWbWbYod38QB8fe+QDpvq0Y=; path=/; expires=Tue, 13-Feb-24 14:50:04 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Set-Cookie', b'_cfuvid=dJsavg8gLDEfKzOWz5YfMBy52ILWP99F2ameWCNnQ1w-1707834004768-0-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'854db5b77a517717-LHR'), (b'Content-Encoding', b'br'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2024-02-13 14:20:04,488 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2024-02-13 14:20:04,488 - DEBUG - receive_response_body.started request= 2024-02-13 14:20:04,488 - DEBUG - receive_response_body.complete 2024-02-13 14:20:04,488 - DEBUG - response_closed.started 2024-02-13 14:20:04,488 - DEBUG - response_closed.complete 2024-02-13 14:20:04,503 - DEBUG - HTTP Request: POST https://api.openai.com/v1/chat/completions "200 OK" Thought: Do I need to use a tool? No Final Answer: Based on my expertise and knowledge in the field, I can confirm that the information provided about the Second Brain with AI tools is accurate. > Finished chain. 2024-02-13 14:20:04,507 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': 'Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks of artificial intelligence. The AI thinks artificial intelligence is a force for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial intelligence is a force for good?\nAI: Because artificial intelligence will help humans reach their full potential.\n\nNew summary:\nThe human asks what the AI thinks of artificial intelligence. The AI thinks artificial intelligence is a force for good because it will help humans reach their full potential.\nEND OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: Verify the information accuracy from the 3 ideas of the Second Brain with AI tools . Cross-check all cited sources against authoritative references to confirm factual correctness.\nYour final answer must be: Is all the information about Second Brain with AI tools accurate? The results are classified as True, False, or Unknown.\nThis is the context you\'re working with:\nUnfortunately, I encountered an unexpected error while trying to use the tool. However, based on my expertise and knowledge in the field, I can still provide three unique ideas for articles focusing on different aspects of Second Brain with AI tools:\n\n- "The Impact of Artificial Intelligence on Personal Knowledge Management: Enhancing the Second Brain Concept" - This article can explore how AI tools can revolutionize the way individuals manage and organize their knowledge using the Second Brain concept. Sources can include research papers on AI applications in personal knowledge management.\n\n- "Ethical Considerations in Using AI for Second Brain Development" - This article can delve into the ethical implications of relying on AI tools to build and maintain a Second Brain. Sources can include ethical frameworks for AI development and usage.\n\n- "The Future of Second Brain Technology: Integrating AI for Enhanced Learning and Productivity" - This article can discuss the potential advancements in Second Brain technology by incorporating AI for improved learning outcomes and productivity. Sources can include expert opinions on the future of AI in personal knowledge management.\nAI: Based on my expertise and knowledge in the field, I can confirm that the information provided about the Second Brain with AI tools is accurate.\n\nNew summary:'}], 'model': 'gpt-3.5-turbo-0125', 'n': 1, 'stream': False, 'temperature': 0.1}} 2024-02-13 14:20:04,516 - DEBUG - send_request_headers.started request= 2024-02-13 14:20:04,517 - DEBUG - send_request_headers.complete 2024-02-13 14:20:04,517 - DEBUG - send_request_body.started request= 2024-02-13 14:20:04,518 - DEBUG - send_request_body.complete 2024-02-13 14:20:04,519 - DEBUG - receive_response_headers.started request= 2024-02-13 14:20:06,355 - DEBUG - receive_response_headers.failed exception=KeyboardInterrupt() 2024-02-13 14:20:06,355 - DEBUG - response_closed.started 2024-02-13 14:20:06,355 - DEBUG - response_closed.complete

Adamchanadam commented 4 months ago

Thanks for the latest update v0.11.2 . I ran the code again it show more warning message in red , anyone know how to ix it ? thanks

It seems we encountered an unexpected error while trying to use the tool. This was the error: 1 validation error for InstructorToolCalling
arguments
  Field required [type=missing, input_value={'tool_name': 'duckduckgo_search'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.5/v/missing

'str' object has no attribute 'tool_name' 
joaomdmoura commented 4 months ago

Hey @Adamchanadam looking into this now, I think I have a clue on what it might be

brandburner commented 4 months ago

Just installed crewAI and also getting problems with the duckduckgo tool when using the 'Getting started' script:

It seems we encountered an unexpected error while trying to use the tool. This was the error: 1 validation error for InstructorToolCalling
arguments
  Field required [type=missing, input_value={'tool_name': 'duckduckgo_search'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.6/v/missing

'str' object has no attribute 'tool_name'
JEugenio-GitHub commented 4 months ago

I am getting this same error when trying to use the YahooFinanceNewsTool from langchain:

 Thought: Do I need to use a tool? Yes
Action: yahoo_finance_news
Action Input: FSLR

It seems we encountered an unexpected error while trying to use the tool. This was the error: Invalid json output: {
  "tool\_name": "yahoo\_finance\_news",
  "arguments": {
    "query": {
      "type": "string",
      "value": "FSLR"
    }
  }
}

'str' object has no attribute 'tool_name'
joaomdmoura commented 4 months ago

Sorry for the trouble folks, our 0.11.0 version introduced some bug, I would advise upgrading to 0.11.2 We are also working on a bigger refactoring around this area that will be 0.12.0 that will be out today or tomorrow

nikidaley commented 4 months ago

The bug still appears to be present in 0.11.2

brandburner commented 4 months ago

After upgrading I found the tool usage to work with gpt-4, but the bug persists when using gpt-3.5-turbo

slavakurilyak commented 4 months ago

I resolved this gpt-3.5-turbo model issue in two ways:

  1. downgrade duckduckgo-search to 4.4.2
  2. downgrade crewAI to 0.5.5

The former is recommended since the latter deviates from the latest crewAI releases

ydennisy commented 4 months ago

@slavakurilyak what do you suggest when creating custom tools?

from langchain.agents import tool

@tool
def find_similar_tool(url: str):
    """Search for webpages similar to a given URL.
    """
    return exa.find_similar_and_contents(url, 
                                         num_results=10,
                                         text={"include_html_tags": True},
                                         highlights={}
                                         )

EDIT: downgrading does fix this issue and allows this custom tool to work.

linuxandchill commented 4 months ago

EDIT: downgrading does fix this issue and allows this custom tool to work.

with gpt3.5-turbo?

joaomdmoura commented 4 months ago

new in progress version should address all, current a RC we are testing before launching :)

João Moura @joaomdmoura http://twitter.com/joaomdmoura

Em qua., 21 de fev. de 2024 às 20:07, t @.***> escreveu:

EDIT: downgrading does fix this issue and allows this custom tool to work.

with gpt3.5-turbo?

— Reply to this email directly, view it on GitHub https://github.com/joaomdmoura/crewAI/issues/248#issuecomment-1958633847, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFC3N3X64J3KXMFYQ4GSKDYU3AA7AVCNFSM6AAAAABDGTLEGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJYGYZTGOBUG4 . You are receiving this because you commented.Message ID: @.***>

Adamchanadam commented 4 months ago

Thanks a lot ,joaomdmoura . I found that my tools issue have been resolved under GPT-4-preview or above under v.0.14.0rc.

Regards, Adam

new in progress version should address all, current a RC we are testing before launching :) -- João Moura @joaomdmoura http://twitter.com/joaomdmoura Em qua., 21 de fev. de 2024 às 20:07, t @.> escreveu: EDIT: downgrading does fix this issue and allows this custom tool to work. with gpt3.5-turbo? — Reply to this email directly, view it on GitHub <#248 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFC3N3X64J3KXMFYQ4GSKDYU3AA7AVCNFSM6AAAAABDGTLEGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJYGYZTGOBUG4 . You are receiving this because you commented.Message ID: @.>

antonsapt4 commented 4 months ago

Hi @joaomdmoura

Just update to today release 0.14.0 and tried the exact code from OP but using LM Studio

def gpt_client(model_name):
    """Function to configure the language model."""
    print("LLM module_name=", model_name)
    return ChatOpenAI(base_url="http://localhost:1234/v1", temperature=0.1, model_name=model_name, api_key="not-needed")

search = DuckDuckGoSearchResults()
search_tool = Tool(
    name="duckduckgo_search", #match the name from crewai's Action: duckduckgo_search
    description="A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.",
    func=search.run
)

Tried direct test using search.run("what is DDG search") its working

image

But tried using it as a tool give error in red like below

image

Appreciate any pointer how to fix this

joaomdmoura commented 4 months ago

Using this way should work:

from langchain_community.tools import DuckDuckGoSearchRun
search_tool = DuckDuckGoSearchRun()

lmk if it doesn't work and I'll look into it

João Moura @joaomdmoura http://twitter.com/joaomdmoura

Em sex., 23 de fev. de 2024 às 10:04, antonsapt4 @.***> escreveu:

Hi @joaomdmoura https://github.com/joaomdmoura

Just update to today release 0.14.0 and tried the exact code from OP but using LM Studio

def gpt_client(model_name): """Function to configure the language model.""" print("LLM module_name=", model_name) return ChatOpenAI(base_url="http://localhost:1234/v1", temperature=0.1, model_name=model_name, api_key="not-needed") search = DuckDuckGoSearchResults()search_tool = Tool( name="duckduckgo_search", #match the name from crewai's Action: duckduckgo_search description="A search tool used to query DuckDuckGoSearchRun for search results when trying to find information from the internet.", func=search.run )

Tried direct test using search.run("what is DDG search") its working image.png (view on web) https://github.com/joaomdmoura/crewAI/assets/142082912/e887514c-b93d-41ce-9692-5f2155616044

But tried using it as a tool give error in red like below image.png (view on web) https://github.com/joaomdmoura/crewAI/assets/142082912/6acb8a4d-33ab-4945-b803-bb3617c79d69

Appreciate any pointer how to fix this

— Reply to this email directly, view it on GitHub https://github.com/joaomdmoura/crewAI/issues/248#issuecomment-1961769251, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFC3N2PCLGCHDZHXHRR7VTYVDK3PAVCNFSM6AAAAABDGTLEGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRRG43DSMRVGE . You are receiving this because you were mentioned.Message ID: @.***>

ericchen0121 commented 4 months ago

Just installed crewai@0.14.4 and duckduckgo_search@4.5.0

Getting this error running with default agent:

It seems we encountered an unexpected error while trying to use the tool. This was the error: _aget_url() https://duckduckgo.com RequestsError: Failed to perform, ErrCode: 28, Reason: 'Failed to connect to duckduckgo.com port 443 after 10000 ms: Timeout was reached'. This may be a libcurl error, See https://curl.se/libcurl/c/libcurl-errors.html first for more details.

Unable to launch duckduckgo in the browser, and working out of a coffee shop, so I'll see if this works from home later on. Was able to run Yahoo Finance News and YoutubeSearch tools, so it may just be a DDG error for now.

pascalandy commented 4 months ago

Same here.

It seems we encountered an unexpected error while trying to use the tool. This was the error: _aget_url() https://duckduckgo.com RequestsError: Failed to perform, ErrCode: 28, Reason: 'Failed to connect to duckduckgo.com port 443 after 10001 ms: Timeout was reached'. This may be a libcurl error, See https://curl.se/libcurl/c/libcurl-errors.html first for more details.

It would be nice to have few demos and don't requires any requests on the web, just to see it works easily :) And then, introduce tools, scraping, API calls and more fancy stuff.

joaomdmoura commented 4 months ago

we now have our own set of tools, duckduckgo is not one of them yet tho, but we do haver serperdev, you get the list of all tools here: https://docs.crewai.com/core-concepts/Tools/#available-crewai-tools

:)

We are preparing a new version that will make tool usage way more reliable, probably a release candidate between today and tomorrow

João Moura @joaomdmoura http://twitter.com/joaomdmoura

Em qua., 28 de fev. de 2024 às 23:57, Pascal Andy @.***> escreveu:

Same here.

It seems we encountered an unexpected error while trying to use the tool. This was the error: _aget_url() https://duckduckgo.com RequestsError: Failed to perform, ErrCode: 28, Reason: 'Failed to connect to duckduckgo.com port 443 after 10001 ms: Timeout was reached'. This may be a libcurl error, See https://curl.se/libcurl/c/libcurl-errors.html first for more details.

It would be nice to have few demos and don't requires any requests on the web, just to see it works easily :) And then, introduce tools, scraping, API calls and more fancy stuff.

— Reply to this email directly, view it on GitHub https://github.com/joaomdmoura/crewAI/issues/248#issuecomment-1970307651, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFC3N5ACHBY5DTL7FA2PLLYV7VA7AVCNFSM6AAAAABDGTLEGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZQGMYDONRVGE . You are receiving this because you were mentioned.Message ID: @.***>

FotieMConstant commented 1 month ago

having the same issue with duckduckgo, anyone has a fix or how to integrate duckduckgo?

xandie985 commented 2 weeks ago

Hey crewAI team, were you able to integrate the duckduckgo search in your list of tools yet?