From 0a2b1c74712a41f885353dd56549c7db4fbef582 Mon Sep 17 00:00:00 2001 From: Harrison Chase Date: Thu, 9 Nov 2023 20:49:39 -0800 Subject: [PATCH] improve duck duck go tool (#13165) --- libs/langchain/langchain/tools/ddg_search/tool.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libs/langchain/langchain/tools/ddg_search/tool.py b/libs/langchain/langchain/tools/ddg_search/tool.py index d148bf468c3..bd2e459ea39 100644 --- a/libs/langchain/langchain/tools/ddg_search/tool.py +++ b/libs/langchain/langchain/tools/ddg_search/tool.py @@ -1,14 +1,18 @@ """Tool for the DuckDuckGo search API.""" import warnings -from typing import Any, Optional +from typing import Any, Optional, Type from langchain.callbacks.manager import CallbackManagerForToolRun -from langchain.pydantic_v1 import Field +from langchain.pydantic_v1 import BaseModel, Field from langchain.tools.base import BaseTool from langchain.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper +class DDGInput(BaseModel): + query: str = Field(description="search query to look up") + + class DuckDuckGoSearchRun(BaseTool): """Tool that queries the DuckDuckGo search API.""" @@ -21,6 +25,7 @@ class DuckDuckGoSearchRun(BaseTool): api_wrapper: DuckDuckGoSearchAPIWrapper = Field( default_factory=DuckDuckGoSearchAPIWrapper ) + args_schema: Type[BaseModel] = DDGInput def _run( self, @@ -45,6 +50,7 @@ class DuckDuckGoSearchResults(BaseTool): default_factory=DuckDuckGoSearchAPIWrapper ) backend: str = "api" + args_schema: Type[BaseModel] = DDGInput def _run( self,