Skip to content

Commit

Permalink
Add way to get serpapi results async (#3604)
Browse files Browse the repository at this point in the history
Sometimes it's nice to get the raw results from serpapi, and we're
missing the async version of this function.
  • Loading branch information
timothyasp authored Apr 26, 2023
1 parent 443a893 commit 539142f
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions langchain/utilities/serpapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,23 @@ def validate_environment(cls, values: Dict) -> Dict:
return values

async def arun(self, query: str) -> str:
"""Use aiohttp to run query through SerpAPI and parse result."""
"""Run query through SerpAPI and parse result async."""
return self._process_response(await self.aresults(query))

def run(self, query: str) -> str:
"""Run query through SerpAPI and parse result."""
return self._process_response(self.results(query))

def results(self, query: str) -> dict:
"""Run query through SerpAPI and return the raw result."""
params = self.get_params(query)
with HiddenPrints():
search = self.search_engine(params)
res = search.get_dict()
return res

async def aresults(self, query: str) -> dict:
"""Use aiohttp to run query through SerpAPI and return the results async."""

def construct_url_and_params() -> Tuple[str, Dict[str, str]]:
params = self.get_params(query)
Expand All @@ -97,18 +113,6 @@ def construct_url_and_params() -> Tuple[str, Dict[str, str]]:
async with self.aiosession.get(url, params=params) as response:
res = await response.json()

return self._process_response(res)

def run(self, query: str) -> str:
"""Run query through SerpAPI and parse result."""
return self._process_response(self.results(query))

def results(self, query: str) -> dict:
"""Run query through SerpAPI and return the raw result."""
params = self.get_params(query)
with HiddenPrints():
search = self.search_engine(params)
res = search.get_dict()
return res

def get_params(self, query: str) -> Dict[str, str]:
Expand Down

0 comments on commit 539142f

Please sign in to comment.