mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-21 14:18:52 +00:00
Add DDG to load_tools (#3535)
Fix linting --------- Co-authored-by: Mike Wang <62768671+skcoirz@users.noreply.github.com>
This commit is contained in:
parent
2b4e9a3efa
commit
64bbbf2cc2
@ -1,7 +1,8 @@
|
|||||||
# flake8: noqa
|
# flake8: noqa
|
||||||
"""Load tools."""
|
"""Load tools."""
|
||||||
import warnings
|
import warnings
|
||||||
from typing import Any, List, Optional
|
from typing import Any, Dict, List, Optional, Callable, Tuple
|
||||||
|
from mypy_extensions import KwArg
|
||||||
|
|
||||||
from langchain.agents.tools import Tool
|
from langchain.agents.tools import Tool
|
||||||
from langchain.callbacks.base import BaseCallbackManager
|
from langchain.callbacks.base import BaseCallbackManager
|
||||||
@ -14,6 +15,7 @@ from langchain.requests import TextRequestsWrapper
|
|||||||
from langchain.tools.arxiv.tool import ArxivQueryRun
|
from langchain.tools.arxiv.tool import ArxivQueryRun
|
||||||
from langchain.tools.base import BaseTool
|
from langchain.tools.base import BaseTool
|
||||||
from langchain.tools.bing_search.tool import BingSearchRun
|
from langchain.tools.bing_search.tool import BingSearchRun
|
||||||
|
from langchain.tools.ddg_search.tool import DuckDuckGoSearchTool
|
||||||
from langchain.tools.google_search.tool import GoogleSearchResults, GoogleSearchRun
|
from langchain.tools.google_search.tool import GoogleSearchResults, GoogleSearchRun
|
||||||
from langchain.tools.human.tool import HumanInputRun
|
from langchain.tools.human.tool import HumanInputRun
|
||||||
from langchain.tools.python.tool import PythonREPLTool
|
from langchain.tools.python.tool import PythonREPLTool
|
||||||
@ -31,6 +33,7 @@ from langchain.utilities import ArxivAPIWrapper
|
|||||||
from langchain.utilities.apify import ApifyWrapper
|
from langchain.utilities.apify import ApifyWrapper
|
||||||
from langchain.utilities.bash import BashProcess
|
from langchain.utilities.bash import BashProcess
|
||||||
from langchain.utilities.bing_search import BingSearchAPIWrapper
|
from langchain.utilities.bing_search import BingSearchAPIWrapper
|
||||||
|
from langchain.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper
|
||||||
from langchain.utilities.google_search import GoogleSearchAPIWrapper
|
from langchain.utilities.google_search import GoogleSearchAPIWrapper
|
||||||
from langchain.utilities.google_serper import GoogleSerperAPIWrapper
|
from langchain.utilities.google_serper import GoogleSerperAPIWrapper
|
||||||
from langchain.utilities.searx_search import SearxSearchWrapper
|
from langchain.utilities.searx_search import SearxSearchWrapper
|
||||||
@ -215,6 +218,10 @@ def _get_bing_search(**kwargs: Any) -> BaseTool:
|
|||||||
return BingSearchRun(api_wrapper=BingSearchAPIWrapper(**kwargs))
|
return BingSearchRun(api_wrapper=BingSearchAPIWrapper(**kwargs))
|
||||||
|
|
||||||
|
|
||||||
|
def _get_ddg_search(**kwargs: Any) -> BaseTool:
|
||||||
|
return DuckDuckGoSearchTool(api_wrapper=DuckDuckGoSearchAPIWrapper(**kwargs))
|
||||||
|
|
||||||
|
|
||||||
def _get_human_tool(**kwargs: Any) -> BaseTool:
|
def _get_human_tool(**kwargs: Any) -> BaseTool:
|
||||||
return HumanInputRun(**kwargs)
|
return HumanInputRun(**kwargs)
|
||||||
|
|
||||||
@ -225,7 +232,7 @@ _EXTRA_LLM_TOOLS = {
|
|||||||
"podcast-api": (_get_podcast_api, ["listen_api_key"]),
|
"podcast-api": (_get_podcast_api, ["listen_api_key"]),
|
||||||
}
|
}
|
||||||
|
|
||||||
_EXTRA_OPTIONAL_TOOLS = {
|
_EXTRA_OPTIONAL_TOOLS: Dict[str, Tuple[Callable[[KwArg(Any)], BaseTool], List[str]]] = {
|
||||||
"wolfram-alpha": (_get_wolfram_alpha, ["wolfram_alpha_appid"]),
|
"wolfram-alpha": (_get_wolfram_alpha, ["wolfram_alpha_appid"]),
|
||||||
"google-search": (_get_google_search, ["google_api_key", "google_cse_id"]),
|
"google-search": (_get_google_search, ["google_api_key", "google_cse_id"]),
|
||||||
"google-search-results-json": (
|
"google-search-results-json": (
|
||||||
@ -237,6 +244,7 @@ _EXTRA_OPTIONAL_TOOLS = {
|
|||||||
["searx_host", "engines", "num_results", "aiosession"],
|
["searx_host", "engines", "num_results", "aiosession"],
|
||||||
),
|
),
|
||||||
"bing-search": (_get_bing_search, ["bing_subscription_key", "bing_search_url"]),
|
"bing-search": (_get_bing_search, ["bing_subscription_key", "bing_search_url"]),
|
||||||
|
"ddg-search": (_get_ddg_search, []),
|
||||||
"google-serper": (_get_google_serper, ["serper_api_key"]),
|
"google-serper": (_get_google_serper, ["serper_api_key"]),
|
||||||
"serpapi": (_get_serpapi, ["serpapi_api_key", "aiosession"]),
|
"serpapi": (_get_serpapi, ["serpapi_api_key", "aiosession"]),
|
||||||
"searx-search": (_get_searx_search, ["searx_host", "engines", "aiosession"]),
|
"searx-search": (_get_searx_search, ["searx_host", "engines", "aiosession"]),
|
||||||
|
Loading…
Reference in New Issue
Block a user