perplexity#
__all__ = ['PerplexityWebSearchDriver']module-attribute
Bases: BaseWebSearchDriver “)
Source Code in
griptape/drivers/web_search/perplexity_web_search_driver.py
@define
class PerplexityWebSearchDriver(BaseWebSearchDriver):
model: str = field(default="sonar-pro", kw_only=True, metadata={"serializable": True})
api_key: Optional[str] = field(kw_only=True, default=None)
_prompt_driver: Optional[PerplexityPromptDriver] = field(default=None, alias="prompt_driver")
@lazy_property()
def prompt_driver(self) -> PerplexityPromptDriver:
if self.api_key is None:
raise ValueError("api_key is required")
return PerplexityPromptDriver(model=self.model, api_key=self.api_key)
def search(self, query: str, **kwargs) -> ListArtifact:
message = self.prompt_driver.run(PromptStack.from_artifact(TextArtifact(query)))
return ListArtifact([message.to_artifact()])
_prompt_driver = field(default=None, alias='prompt_driver')class-attribute instance-attributeapi_key = field(kw_only=True, default=None)class-attribute instance-attributemodel = field(default='sonar-pro', kw_only=True, metadata={'serializable': True})class-attribute instance-attribute
prompt_driver()#
Source Code in
griptape/drivers/web_search/perplexity_web_search_driver.py
@lazy_property()
def prompt_driver(self) -> PerplexityPromptDriver:
if self.api_key is None:
raise ValueError("api_key is required")
return PerplexityPromptDriver(model=self.model, api_key=self.api_key)
search(query, **kwargs)#
Source Code in
griptape/drivers/web_search/perplexity_web_search_driver.py
def search(self, query: str, **kwargs) -> ListArtifact:
message = self.prompt_driver.run(PromptStack.from_artifact(TextArtifact(query)))
return ListArtifact([message.to_artifact()])