From 7100d586ef116afac8a9663afb44212856bd874d Mon Sep 17 00:00:00 2001 From: shumpei <46121008+shumpei19@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:51:02 +0900 Subject: [PATCH] =?UTF-8?q?Introduce=C2=A0search=5Fkwargs=C2=A0for=20Custo?= =?UTF-8?q?m=20Parameters=20in=20BingSearchAPIWrapper=20(#13525)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added a `search_kwargs` field to BingSearchAPIWrapper in `bing_search.py,` enabling users to include extra keyword arguments in Bing search queries. This update, like specifying language preferences, adds more customization to searches. The `search_kwargs` seamlessly merge with standard parameters in `_bing_search_results` method. --------- Co-authored-by: Erick Friis --- libs/langchain/langchain/utilities/bing_search.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/langchain/langchain/utilities/bing_search.py b/libs/langchain/langchain/utilities/bing_search.py index 33d6063b15..5e4c557185 100644 --- a/libs/langchain/langchain/utilities/bing_search.py +++ b/libs/langchain/langchain/utilities/bing_search.py @@ -7,7 +7,7 @@ from typing import Dict, List import requests -from langchain.pydantic_v1 import BaseModel, Extra, root_validator +from langchain.pydantic_v1 import BaseModel, Extra, Field, root_validator from langchain.utils import get_from_dict_or_env @@ -21,6 +21,8 @@ class BingSearchAPIWrapper(BaseModel): bing_subscription_key: str bing_search_url: str k: int = 10 + search_kwargs: dict = Field(default_factory=dict) + """Additional keyword arguments to pass to the search request.""" class Config: """Configuration for this pydantic object.""" @@ -34,6 +36,7 @@ class BingSearchAPIWrapper(BaseModel): "count": count, "textDecorations": True, "textFormat": "HTML", + **self.search_kwargs, } response = requests.get( self.bing_search_url,