Is your feature request related to a problem?
Describe the feature you'd like
🌟 Feature Description
Migrate the web search functionality from Tavily Search to DuckDuckGo Search.
🔍 Problem Statement
The current implementation of the web search feature relies on the Tavily Search API. This feature is utilized in the handle_web_search_node to perform web searches. The TavilySearchTool class in backend/app/agents/devrel/tools/search_tool.py directly interacts with the Tavily API. The dependency on Tavily is also specified in the project's dependencies. This migration is intended to replace Tavily Search with DuckDuckGo Search as the primary web search provider.
🎯 Expected Outcome
Upon completion, the project will use DuckDuckGo Search for all web search queries. The langchain-tavily and tavily-python dependencies will be removed from the project, and a new dependency for a DuckDuckGo search library will be added. The handle_web_search_node and the search tool will be updated to use the new DuckDuckGo search functionality.
📷 Screenshots and Design Ideas
N/A (This is a backend implementation change with no direct UI impact).
📋 Additional Context
The following files will be impacted by this change:
backend/app/agents/devrel/tools/search_tool.py: The TavilySearchTool class will need to be replaced with a new class for DuckDuckGo search.
backend/app/agents/devrel/nodes/handle_web_search_node.py: The handle_web_search_node will need to be updated to use the new DuckDuckGo search tool.
pyproject.toml: The langchain-tavily and tavily-python dependencies will be removed and a new dependency for DuckDuckGo search will be added.
backend/app/core/config.py: The tavily_api_key setting will be removed and a new setting for the DuckDuckGo API key may need to be added.
Record
Is your feature request related to a problem?
Describe the feature you'd like
🌟 Feature Description
Migrate the web search functionality from Tavily Search to DuckDuckGo Search.
🔍 Problem Statement
The current implementation of the web search feature relies on the Tavily Search API. This feature is utilized in the
handle_web_search_nodeto perform web searches. TheTavilySearchToolclass inbackend/app/agents/devrel/tools/search_tool.pydirectly interacts with the Tavily API. The dependency on Tavily is also specified in the project's dependencies. This migration is intended to replace Tavily Search with DuckDuckGo Search as the primary web search provider.🎯 Expected Outcome
Upon completion, the project will use DuckDuckGo Search for all web search queries. The
langchain-tavilyandtavily-pythondependencies will be removed from the project, and a new dependency for a DuckDuckGo search library will be added. Thehandle_web_search_nodeand the search tool will be updated to use the new DuckDuckGo search functionality.📷 Screenshots and Design Ideas
N/A (This is a backend implementation change with no direct UI impact).
📋 Additional Context
The following files will be impacted by this change:
backend/app/agents/devrel/tools/search_tool.py: TheTavilySearchToolclass will need to be replaced with a new class for DuckDuckGo search.backend/app/agents/devrel/nodes/handle_web_search_node.py: Thehandle_web_search_nodewill need to be updated to use the new DuckDuckGo search tool.pyproject.toml: Thelangchain-tavilyandtavily-pythondependencies will be removed and a new dependency for DuckDuckGo search will be added.backend/app/core/config.py: Thetavily_api_keysetting will be removed and a new setting for the DuckDuckGo API key may need to be added.Record