tavily#
__all__ = ['TavilyWebSearchDriver']module-attribute
Bases: BaseWebSearchDriver “)
Source Code in griptape/drivers/web_search/tavily_web_search_driver.py
@define
class TavilyWebSearchDriver(BaseWebSearchDriver):
api_key: str = field(kw_only=True)
params: dict[str, Any] = field(factory=dict, kw_only=True, metadata={"serializable": True})
_client: Optional[TavilyClient] = field(
default=None, kw_only=True, alias="client", metadata={"serializable": False}
)
@lazy_property()
def client(self) -> TavilyClient:
return import_optional_dependency("tavily").TavilyClient(self.api_key)
def search(self, query: str, **kwargs) -> ListArtifact:
response = self.client.search(query, max_results=self.results_count, **self.params, **kwargs)
results = response.get("results", [])
return ListArtifact([(JsonArtifact(result)) for result in results])
_client = field(default=None, kw_only=True, alias='client', metadata={'serializable': False})class-attribute instance-attributeapi_key = field(kw_only=True)class-attribute instance-attributeparams = field(factory=dict, kw_only=True, metadata={'serializable': True})class-attribute instance-attribute
client()#
Source Code in griptape/drivers/web_search/tavily_web_search_driver.py
@lazy_property()
def client(self) -> TavilyClient:
return import_optional_dependency("tavily").TavilyClient(self.api_key)
search(query, **kwargs)#
Source Code in griptape/drivers/web_search/tavily_web_search_driver.py
def search(self, query: str, **kwargs) -> ListArtifact:
response = self.client.search(query, max_results=self.results_count, **self.params, **kwargs)
results = response.get("results", [])
return ListArtifact([(JsonArtifact(result)) for result in results])