XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Bing: add parameter to enable/disable web search (#1360)

Web search is disabled by default and can be enabled by passing `web_search = True`

53bc2411
nullstreak <139914347+nullstreak@users.noreply.github.com>
提交于

代码差异

1 个文件 +8 -4
Modified g4f/Provider/Bing.py +8 -4
@@ -44,6 +44,7 @@ class Bing(AsyncGeneratorProvider):
44 44 cookies: dict = None,
45 45 tone: str = Tones.creative,
46 46 image: str = None,
47 web_search: bool = False,
47 48 **kwargs
48 49 ) -> AsyncResult:
49 50 if len(messages) < 2:
@@ -59,7 +60,7 @@ class Bing(AsyncGeneratorProvider):
59 60 for key, value in default_cookies.items():
60 61 if key not in cookies:
61 62 cookies[key] = value
62 return stream_generate(prompt, tone, image, context, proxy, cookies)
63 return stream_generate(prompt, tone, image, context, proxy, cookies, web_search)
63 64
64 65 def create_context(messages: Messages):
65 66 return "".join(
@@ -376,7 +377,7 @@ def compress_image_to_base64(img, compression_rate) -> str:
376 377 except Exception as e:
377 378 raise e
378 379
379 def create_message(conversation: Conversation, prompt: str, tone: str, context: str=None) -> str:
380 def create_message(conversation: Conversation, prompt: str, tone: str, context: str = None, web_search: bool = False) -> str:
380 381 options_sets = Defaults.optionsSets
381 382 if tone == Tones.creative:
382 383 options_sets.append("h3imaginative")
@@ -386,6 +387,8 @@ def create_message(conversation: Conversation, prompt: str, tone: str, context:
386 387 options_sets.append("galileo")
387 388 else:
388 389 options_sets.append("harmonyv3")
390 if not web_search:
391 options_sets.append("nosearchall")
389 392
390 393 request_id = str(uuid.uuid4())
391 394 struct = {
@@ -440,7 +443,8 @@ async def stream_generate(
440 443 image: str = None,
441 444 context: str = None,
442 445 proxy: str = None,
443 cookies: dict = None
446 cookies: dict = None,
447 web_search: bool = False
444 448 ):
445 449 async with ClientSession(
446 450 timeout=ClientTimeout(total=900),
@@ -452,7 +456,7 @@ async def stream_generate(
452 456
453 457 await wss.send_str(format_message({'protocol': 'json', 'version': 1}))
454 458 await wss.receive(timeout=900)
455 await wss.send_str(create_message(conversation, prompt, tone, context))
459 await wss.send_str(create_message(conversation, prompt, tone, context, web_search))
456 460
457 461 response_txt = ''
458 462 returned_text = ''