mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-13 02:24:44 +08:00
feat: add support for searx/searxng (#253)
* add searx/searxng support * nit * Fix indentation in search.py for readability * Clean up imports in search.py Removed unused imports from search.py --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
This commit is contained in:
@@ -14,6 +14,7 @@ class SearchEngine(enum.Enum):
|
||||
DUCKDUCKGO = "duckduckgo"
|
||||
BRAVE_SEARCH = "brave_search"
|
||||
ARXIV = "arxiv"
|
||||
SEARX = "searx"
|
||||
WIKIPEDIA = "wikipedia"
|
||||
|
||||
|
||||
|
||||
@@ -8,12 +8,14 @@ from typing import List, Optional
|
||||
from langchain_community.tools import (
|
||||
BraveSearch,
|
||||
DuckDuckGoSearchResults,
|
||||
SearxSearchRun,
|
||||
WikipediaQueryRun,
|
||||
)
|
||||
from langchain_community.tools.arxiv import ArxivQueryRun
|
||||
from langchain_community.utilities import (
|
||||
ArxivAPIWrapper,
|
||||
BraveSearchWrapper,
|
||||
SearxSearchWrapper,
|
||||
WikipediaAPIWrapper,
|
||||
)
|
||||
|
||||
@@ -30,6 +32,7 @@ LoggedTavilySearch = create_logged_tool(TavilySearchWithImages)
|
||||
LoggedDuckDuckGoSearch = create_logged_tool(DuckDuckGoSearchResults)
|
||||
LoggedBraveSearch = create_logged_tool(BraveSearch)
|
||||
LoggedArxivSearch = create_logged_tool(ArxivQueryRun)
|
||||
LoggedSearxSearch = create_logged_tool(SearxSearchRun)
|
||||
LoggedWikipediaSearch = create_logged_tool(WikipediaQueryRun)
|
||||
|
||||
|
||||
@@ -88,6 +91,13 @@ def get_web_search_tool(max_search_results: int):
|
||||
load_all_available_meta=True,
|
||||
),
|
||||
)
|
||||
elif SELECTED_SEARCH_ENGINE == SearchEngine.SEARX.value:
|
||||
return LoggedSearxSearch(
|
||||
name="web_search",
|
||||
wrapper=SearxSearchWrapper(
|
||||
k=max_search_results,
|
||||
)
|
||||
)
|
||||
elif SELECTED_SEARCH_ENGINE == SearchEngine.WIKIPEDIA.value:
|
||||
wiki_lang = search_config.get("wikipedia_lang", "en")
|
||||
wiki_doc_content_chars_max = search_config.get(
|
||||
|
||||
Reference in New Issue
Block a user