duck_duck_go
Adapted from the Griptape AI Framework documentation.
__all__ = ['DuckDuckGoWebSearchDriver']
module-attribute
Bases:
BaseWebSearchDriver
Source Code in griptape/drivers/web_search/duck_duck_go_web_search_driver.py
@define class DuckDuckGoWebSearchDriver(BaseWebSearchDriver): language: str = field(default="en", kw_only=True) country: str = field(default="us", kw_only=True) _client: Optional[DDGS] = field(default=None, kw_only=True, alias="client", metadata={"serializable": False}) @lazy_property() def client(self) -> DDGS: return import_optional_dependency("duckduckgo_search").DDGS() def search(self, query: str, **kwargs) -> ListArtifact: try: results = self.client.text( query, region=f"{self.language}-{self.country}", max_results=self.results_count, **kwargs ) return ListArtifact( [ TextArtifact( json.dumps({"title": result["title"], "url": result["href"], "description": result["body"]}), ) for result in results ], ) except Exception as e: raise Exception(f"Error searching '{query}' with DuckDuckGo: {e}") from e
_client = field(default=None, kw_only=True, alias='client', metadata={'serializable': False})
class-attribute instance-attributecountry = field(default='us', kw_only=True)
class-attribute instance-attributelanguage = field(default='en', kw_only=True)
class-attribute instance-attribute
client()
Source Code in griptape/drivers/web_search/duck_duck_go_web_search_driver.py
@lazy_property() def client(self) -> DDGS: return import_optional_dependency("duckduckgo_search").DDGS()
search(query, **kwargs)
Source Code in griptape/drivers/web_search/duck_duck_go_web_search_driver.py
def search(self, query: str, **kwargs) -> ListArtifact: try: results = self.client.text( query, region=f"{self.language}-{self.country}", max_results=self.results_count, **kwargs ) return ListArtifact( [ TextArtifact( json.dumps({"title": result["title"], "url": result["href"], "description": result["body"]}), ) for result in results ], ) except Exception as e: raise Exception(f"Error searching '{query}' with DuckDuckGo: {e}") from e
- On this page
- client()
- search(query, **kwargs)
Could this page be better? Report a problem or suggest an addition!