mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-03 19:57:51 +00:00
expose more serpapi parameters (#609)
This commit is contained in:
parent
b7225fd010
commit
67808bad0e
@ -6,7 +6,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Extra, root_validator
|
from pydantic import BaseModel, Extra, Field, root_validator
|
||||||
|
|
||||||
from langchain.utils import get_from_dict_or_env
|
from langchain.utils import get_from_dict_or_env
|
||||||
|
|
||||||
@ -25,6 +25,15 @@ class HiddenPrints:
|
|||||||
sys.stdout = self._original_stdout
|
sys.stdout = self._original_stdout
|
||||||
|
|
||||||
|
|
||||||
|
def _get_default_params() -> dict:
|
||||||
|
return {
|
||||||
|
"engine": "google",
|
||||||
|
"google_domain": "google.com",
|
||||||
|
"gl": "us",
|
||||||
|
"hl": "en",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class SerpAPIWrapper(BaseModel):
|
class SerpAPIWrapper(BaseModel):
|
||||||
"""Wrapper around SerpAPI.
|
"""Wrapper around SerpAPI.
|
||||||
|
|
||||||
@ -40,7 +49,7 @@ class SerpAPIWrapper(BaseModel):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
search_engine: Any #: :meta private:
|
search_engine: Any #: :meta private:
|
||||||
|
params: dict = Field(default_factory=_get_default_params)
|
||||||
serpapi_api_key: Optional[str] = None
|
serpapi_api_key: Optional[str] = None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
@ -68,14 +77,11 @@ class SerpAPIWrapper(BaseModel):
|
|||||||
|
|
||||||
def run(self, query: str) -> str:
|
def run(self, query: str) -> str:
|
||||||
"""Run query through SerpAPI and parse result."""
|
"""Run query through SerpAPI and parse result."""
|
||||||
params = {
|
_params = {
|
||||||
"api_key": self.serpapi_api_key,
|
"api_key": self.serpapi_api_key,
|
||||||
"engine": "google",
|
|
||||||
"q": query,
|
"q": query,
|
||||||
"google_domain": "google.com",
|
|
||||||
"gl": "us",
|
|
||||||
"hl": "en",
|
|
||||||
}
|
}
|
||||||
|
params = {**self.params, **_params}
|
||||||
with HiddenPrints():
|
with HiddenPrints():
|
||||||
search = self.search_engine(params)
|
search = self.search_engine(params)
|
||||||
res = search.get_dict()
|
res = search.get_dict()
|
||||||
|
Loading…
Reference in New Issue
Block a user