diff --git a/config.py b/config.py index 51ee115..2c05c2d 100644 --- a/config.py +++ b/config.py @@ -75,8 +75,6 @@ API_URL_REDIRECT = {} # 如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!) CUSTOM_PATH = "/" -# 使用Newbing -NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"] # 如果需要使用Slack Claude,使用教程详情见 request_llm/README.md SLACK_CLAUDE_BOT_ID = '' @@ -88,3 +86,10 @@ AZURE_ENDPOINT = "https://你的api名称.openai.azure.com/" AZURE_API_KEY = "填入azure openai api的密钥" AZURE_API_VERSION = "填入api版本" AZURE_ENGINE = "填入ENGINE" + + +# 使用Newbing +NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"] +NEWBING_COOKIES = """ +put your new bing cookies here +""" diff --git a/request_llm/bridge_newbingfree.py b/request_llm/bridge_newbingfree.py index 8ef3114..11c2ea7 100644 --- a/request_llm/bridge_newbingfree.py +++ b/request_llm/bridge_newbingfree.py @@ -89,9 +89,6 @@ class NewBingHandle(Process): if a not in self.local_history: self.local_history.append(a) prompt += a + '\n' - # if b not in self.local_history: - # self.local_history.append(b) - # prompt += b + '\n' # 问题 prompt += question @@ -101,7 +98,7 @@ class NewBingHandle(Process): async for final, response in self.newbing_model.ask_stream( prompt=question, conversation_style=NEWBING_STYLE, # ["creative", "balanced", "precise"] - wss_link=endpoint, # "wss://sydney.bing.com/sydney/ChatHub" + wss_link=endpoint, # "wss://sydney.bing.com/sydney/ChatHub" ): if not final: print(response) @@ -121,14 +118,26 @@ class NewBingHandle(Process): self.local_history = [] if (self.newbing_model is None) or (not self.success): # 代理设置 - proxies, = get_conf('proxies') + proxies, NEWBING_COOKIES = get_conf('proxies', 'NEWBING_COOKIES') if proxies is None: self.proxies_https = None else: self.proxies_https = proxies['https'] + if (NEWBING_COOKIES is not None) and len(NEWBING_COOKIES) > 100: + try: + cookies = json.loads(NEWBING_COOKIES) + except: + self.success = False + tb_str = '\n```\n' + trimmed_format_exc() + '\n```\n' + self.child.send(f'[Local Message] NEWBING_COOKIES未填写或有格式错误。') + self.child.send('[Fail]'); self.child.send('[Finish]') + raise RuntimeError(f"NEWBING_COOKIES未填写或有格式错误。") + else: + cookies = None + try: - self.newbing_model = NewbingChatbot(proxy=self.proxies_https) + self.newbing_model = NewbingChatbot(proxy=self.proxies_https, cookies=cookies) except: self.success = False tb_str = '\n```\n' + trimmed_format_exc() + '\n```\n' @@ -151,18 +160,14 @@ class NewBingHandle(Process): """ 这个函数运行在主进程 """ - self.threadLock.acquire() - self.parent.send(kwargs) # 发送请求到子进程 + self.threadLock.acquire() # 获取线程锁 + self.parent.send(kwargs) # 请求子进程 while True: - res = self.parent.recv() # 等待newbing回复的片段 - if res == '[Finish]': - break # 结束 - elif res == '[Fail]': - self.success = False - break - else: - yield res # newbing回复的片段 - self.threadLock.release() + res = self.parent.recv() # 等待newbing回复的片段 + if res == '[Finish]': break # 结束 + elif res == '[Fail]': self.success = False; break # 失败 + else: yield res # newbing回复的片段 + self.threadLock.release() # 释放线程锁 """