返回提交历史
Modified
g4f/Provider/Bing.py
+8
-4
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
代码差异
1 个文件
+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 = ''