mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-04-26 19:58:14 +00:00
48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
# Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
import logging
|
|
import os
|
|
from langchain_community.tools.tavily_search import TavilySearchResults
|
|
from langchain_community.tools import DuckDuckGoSearchResults
|
|
from langchain_community.tools import BraveSearch
|
|
from langchain_community.tools.arxiv import ArxivQueryRun
|
|
from langchain_community.utilities import ArxivAPIWrapper, BraveSearchWrapper
|
|
from src.config import SEARCH_MAX_RESULTS
|
|
from .decorators import create_logged_tool
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
LoggedTavilySearch = create_logged_tool(TavilySearchResults)
|
|
tavily_search_tool = LoggedTavilySearch(
|
|
name="web_search",
|
|
max_results=SEARCH_MAX_RESULTS,
|
|
include_raw_content=True,
|
|
include_images=True,
|
|
)
|
|
|
|
LoggedDuckDuckGoSearch = create_logged_tool(DuckDuckGoSearchResults)
|
|
duckduckgo_search_tool = LoggedDuckDuckGoSearch(
|
|
name="web_search", max_results=SEARCH_MAX_RESULTS
|
|
)
|
|
|
|
LoggedBraveSearch = create_logged_tool(BraveSearch)
|
|
brave_search_tool = LoggedBraveSearch(
|
|
name="web_search",
|
|
search_wrapper=BraveSearchWrapper(
|
|
api_key=os.getenv("BRAVE_SEARCH_API_KEY", ""),
|
|
search_kwargs={"count": SEARCH_MAX_RESULTS},
|
|
),
|
|
)
|
|
|
|
LoggedArxivSearch = create_logged_tool(ArxivQueryRun)
|
|
arxiv_search_tool = LoggedArxivSearch(
|
|
name="web_search",
|
|
api_wrapper=ArxivAPIWrapper(
|
|
top_k_results=SEARCH_MAX_RESULTS,
|
|
load_max_docs=SEARCH_MAX_RESULTS,
|
|
load_all_available_meta=True,
|
|
),
|
|
)
|