import os from typing import Any import requests from .exa_base_tool import EXABaseTool class EXASearchTool(EXABaseTool): def _run( self, **kwargs: Any, ) -> Any: search_query = kwargs.get("search_query") if search_query is None: search_query = kwargs.get("query") payload = { "query": search_query, "type": "magic", } headers = self.headers.copy() headers["x-api-key"] = os.environ["EXA_API_KEY"] response = requests.post(self.search_url, json=payload, headers=headers) results = response.json() if "results" in results: results = super()._parse_results(results["results"]) return results