Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	update the error handling of moss and chatglm
Browse files- check_proxy.py +11 -3
- config.py +1 -1
- docs/waifu_plugin/autoload.js +7 -0
- request_llm/bridge_chatglm.py +3 -3
- request_llm/bridge_moss.py +8 -6
    	
        check_proxy.py
    CHANGED
    
    | @@ -94,7 +94,7 @@ def get_current_version(): | |
| 94 | 
             
                return current_version
         | 
| 95 |  | 
| 96 |  | 
| 97 | 
            -
            def auto_update():
         | 
| 98 | 
             
                """
         | 
| 99 | 
             
                一键更新协议:查询版本和用户意见
         | 
| 100 | 
             
                """
         | 
| @@ -126,14 +126,22 @@ def auto_update(): | |
| 126 | 
             
                            try:
         | 
| 127 | 
             
                                patch_and_restart(path)
         | 
| 128 | 
             
                            except:
         | 
| 129 | 
            -
                                 | 
|  | |
|  | |
|  | |
|  | |
| 130 | 
             
                        else:
         | 
| 131 | 
             
                            print('自动更新程序:已禁用')
         | 
| 132 | 
             
                            return
         | 
| 133 | 
             
                    else:
         | 
| 134 | 
             
                        return
         | 
| 135 | 
             
                except:
         | 
| 136 | 
            -
                     | 
|  | |
|  | |
|  | |
|  | |
| 137 |  | 
| 138 | 
             
            def warm_up_modules():
         | 
| 139 | 
             
                print('正在执行一些模块的预热...')
         | 
|  | |
| 94 | 
             
                return current_version
         | 
| 95 |  | 
| 96 |  | 
| 97 | 
            +
            def auto_update(raise_error=False):
         | 
| 98 | 
             
                """
         | 
| 99 | 
             
                一键更新协议:查询版本和用户意见
         | 
| 100 | 
             
                """
         | 
|  | |
| 126 | 
             
                            try:
         | 
| 127 | 
             
                                patch_and_restart(path)
         | 
| 128 | 
             
                            except:
         | 
| 129 | 
            +
                                msg = '更新失败。'
         | 
| 130 | 
            +
                                if raise_error:
         | 
| 131 | 
            +
                                    from toolbox import trimmed_format_exc
         | 
| 132 | 
            +
                                    msg += trimmed_format_exc()
         | 
| 133 | 
            +
                                print(msg)
         | 
| 134 | 
             
                        else:
         | 
| 135 | 
             
                            print('自动更新程序:已禁用')
         | 
| 136 | 
             
                            return
         | 
| 137 | 
             
                    else:
         | 
| 138 | 
             
                        return
         | 
| 139 | 
             
                except:
         | 
| 140 | 
            +
                    msg = '自动更新程序:已禁用'
         | 
| 141 | 
            +
                    if raise_error:
         | 
| 142 | 
            +
                        from toolbox import trimmed_format_exc
         | 
| 143 | 
            +
                        msg += trimmed_format_exc()
         | 
| 144 | 
            +
                    print(msg)
         | 
| 145 |  | 
| 146 | 
             
            def warm_up_modules():
         | 
| 147 | 
             
                print('正在执行一些模块的预热...')
         | 
    	
        config.py
    CHANGED
    
    | @@ -46,7 +46,7 @@ MAX_RETRY = 2 | |
| 46 |  | 
| 47 | 
             
            # OpenAI模型选择是(gpt4现在只对申请成功的人开放,体验gpt-4可以试试api2d)
         | 
| 48 | 
             
            LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
         | 
| 49 | 
            -
            AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "newbing"]
         | 
| 50 |  | 
| 51 | 
             
            # 本地LLM模型如ChatGLM的执行方式 CPU/GPU
         | 
| 52 | 
             
            LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda"
         | 
|  | |
| 46 |  | 
| 47 | 
             
            # OpenAI模型选择是(gpt4现在只对申请成功的人开放,体验gpt-4可以试试api2d)
         | 
| 48 | 
             
            LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
         | 
| 49 | 
            +
            AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "moss", "newbing"]
         | 
| 50 |  | 
| 51 | 
             
            # 本地LLM模型如ChatGLM的执行方式 CPU/GPU
         | 
| 52 | 
             
            LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda"
         | 
    	
        docs/waifu_plugin/autoload.js
    CHANGED
    
    | @@ -16,6 +16,13 @@ try { | |
| 16 | 
             
                        live2d_settings['canTakeScreenshot']    = false;
         | 
| 17 | 
             
                        live2d_settings['canTurnToHomePage']    = false;
         | 
| 18 | 
             
                        live2d_settings['canTurnToAboutPage']   = false;
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 19 | 
             
                        /* 在 initModel 前添加 */
         | 
| 20 | 
             
                        initModel("file=docs/waifu_plugin/waifu-tips.json");
         | 
| 21 | 
             
                    }});
         | 
|  | |
| 16 | 
             
                        live2d_settings['canTakeScreenshot']    = false;
         | 
| 17 | 
             
                        live2d_settings['canTurnToHomePage']    = false;
         | 
| 18 | 
             
                        live2d_settings['canTurnToAboutPage']   = false;
         | 
| 19 | 
            +
                        live2d_settings['showHitokoto']         = false;         // 显示一言
         | 
| 20 | 
            +
                        live2d_settings['showF12Status']        = false;         // 显示加载状态
         | 
| 21 | 
            +
                        live2d_settings['showF12Message']       = false;        // 显示看板娘消息
         | 
| 22 | 
            +
                        live2d_settings['showF12OpenMsg']       = false;         // 显示控制台打开提示
         | 
| 23 | 
            +
                        live2d_settings['showCopyMessage']      = false;         // 显示 复制内容 提示
         | 
| 24 | 
            +
                        live2d_settings['showWelcomeMessage']   = true;         // 显示进入面页欢迎词
         | 
| 25 | 
            +
             | 
| 26 | 
             
                        /* 在 initModel 前添加 */
         | 
| 27 | 
             
                        initModel("file=docs/waifu_plugin/waifu-tips.json");
         | 
| 28 | 
             
                    }});
         | 
    	
        request_llm/bridge_chatglm.py
    CHANGED
    
    | @@ -87,7 +87,7 @@ class GetGLMHandle(Process): | |
| 87 | 
             
            global glm_handle
         | 
| 88 | 
             
            glm_handle = None
         | 
| 89 | 
             
            #################################################################################
         | 
| 90 | 
            -
            def predict_no_ui_long_connection(inputs, llm_kwargs, history=[], sys_prompt="", observe_window= | 
| 91 | 
             
                """
         | 
| 92 | 
             
                    多线程方法
         | 
| 93 | 
             
                    函数的说明请见 request_llm/bridge_all.py
         | 
| @@ -95,7 +95,7 @@ def predict_no_ui_long_connection(inputs, llm_kwargs, history=[], sys_prompt="", | |
| 95 | 
             
                global glm_handle
         | 
| 96 | 
             
                if glm_handle is None:
         | 
| 97 | 
             
                    glm_handle = GetGLMHandle()
         | 
| 98 | 
            -
                    observe_window[0] = load_message + "\n\n" + glm_handle.info
         | 
| 99 | 
             
                    if not glm_handle.success: 
         | 
| 100 | 
             
                        error = glm_handle.info
         | 
| 101 | 
             
                        glm_handle = None
         | 
| @@ -110,7 +110,7 @@ def predict_no_ui_long_connection(inputs, llm_kwargs, history=[], sys_prompt="", | |
| 110 | 
             
                watch_dog_patience = 5 # 看门狗 (watchdog) 的耐心, 设置5秒即可
         | 
| 111 | 
             
                response = ""
         | 
| 112 | 
             
                for response in glm_handle.stream_chat(query=inputs, history=history_feedin, max_length=llm_kwargs['max_length'], top_p=llm_kwargs['top_p'], temperature=llm_kwargs['temperature']):
         | 
| 113 | 
            -
                    observe_window[0] = response
         | 
| 114 | 
             
                    if len(observe_window) >= 2:  
         | 
| 115 | 
             
                        if (time.time()-observe_window[1]) > watch_dog_patience:
         | 
| 116 | 
             
                            raise RuntimeError("程序终止。")
         | 
|  | |
| 87 | 
             
            global glm_handle
         | 
| 88 | 
             
            glm_handle = None
         | 
| 89 | 
             
            #################################################################################
         | 
| 90 | 
            +
            def predict_no_ui_long_connection(inputs, llm_kwargs, history=[], sys_prompt="", observe_window=[], console_slience=False):
         | 
| 91 | 
             
                """
         | 
| 92 | 
             
                    多线程方法
         | 
| 93 | 
             
                    函数的说明请见 request_llm/bridge_all.py
         | 
|  | |
| 95 | 
             
                global glm_handle
         | 
| 96 | 
             
                if glm_handle is None:
         | 
| 97 | 
             
                    glm_handle = GetGLMHandle()
         | 
| 98 | 
            +
                    if len(observe_window) >= 1: observe_window[0] = load_message + "\n\n" + glm_handle.info
         | 
| 99 | 
             
                    if not glm_handle.success: 
         | 
| 100 | 
             
                        error = glm_handle.info
         | 
| 101 | 
             
                        glm_handle = None
         | 
|  | |
| 110 | 
             
                watch_dog_patience = 5 # 看门狗 (watchdog) 的耐心, 设置5秒即可
         | 
| 111 | 
             
                response = ""
         | 
| 112 | 
             
                for response in glm_handle.stream_chat(query=inputs, history=history_feedin, max_length=llm_kwargs['max_length'], top_p=llm_kwargs['top_p'], temperature=llm_kwargs['temperature']):
         | 
| 113 | 
            +
                    if len(observe_window) >= 1:  observe_window[0] = response
         | 
| 114 | 
             
                    if len(observe_window) >= 2:  
         | 
| 115 | 
             
                        if (time.time()-observe_window[1]) > watch_dog_patience:
         | 
| 116 | 
             
                            raise RuntimeError("程序终止。")
         | 
    	
        request_llm/bridge_moss.py
    CHANGED
    
    | @@ -153,7 +153,8 @@ class GetGLMHandle(Process): | |
| 153 | 
             
                                print(response.lstrip('\n'))
         | 
| 154 | 
             
                                self.child.send(response.lstrip('\n'))
         | 
| 155 | 
             
                        except:
         | 
| 156 | 
            -
                             | 
|  | |
| 157 | 
             
                        # 请求处理结束,开始下一个循环
         | 
| 158 | 
             
                        self.child.send('[Finish]')
         | 
| 159 |  | 
| @@ -217,6 +218,10 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp | |
| 217 | 
             
                    if not moss_handle.success: 
         | 
| 218 | 
             
                        moss_handle = None
         | 
| 219 | 
             
                        return
         | 
|  | |
|  | |
|  | |
|  | |
| 220 |  | 
| 221 | 
             
                if additional_fn is not None:
         | 
| 222 | 
             
                    import core_functional
         | 
| @@ -231,15 +236,12 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp | |
| 231 | 
             
                    history_feedin.append([history[2*i], history[2*i+1]] )
         | 
| 232 |  | 
| 233 | 
             
                # 开始接收chatglm的回复
         | 
| 234 | 
            -
                response = "[Local Message]: 等待MOSS响应中 ..."
         | 
| 235 | 
            -
                chatbot[-1] = (inputs, response)
         | 
| 236 | 
            -
                yield from update_ui(chatbot=chatbot, history=history)
         | 
| 237 | 
             
                for response in moss_handle.stream_chat(query=inputs, history=history_feedin, sys_prompt=system_prompt, max_length=llm_kwargs['max_length'], top_p=llm_kwargs['top_p'], temperature=llm_kwargs['temperature']):
         | 
| 238 | 
            -
                    chatbot[-1] = (inputs, response)
         | 
| 239 | 
             
                    yield from update_ui(chatbot=chatbot, history=history)
         | 
| 240 |  | 
| 241 | 
             
                # 总结输出
         | 
| 242 | 
             
                if response == "[Local Message]: 等待MOSS响应中 ...":
         | 
| 243 | 
             
                    response = "[Local Message]: MOSS响应异常 ..."
         | 
| 244 | 
            -
                history.extend([inputs, response])
         | 
| 245 | 
             
                yield from update_ui(chatbot=chatbot, history=history)
         | 
|  | |
| 153 | 
             
                                print(response.lstrip('\n'))
         | 
| 154 | 
             
                                self.child.send(response.lstrip('\n'))
         | 
| 155 | 
             
                        except:
         | 
| 156 | 
            +
                            from toolbox import trimmed_format_exc
         | 
| 157 | 
            +
                            self.child.send('[Local Message] Call MOSS fail.' + '\n```\n' + trimmed_format_exc() + '\n```\n')
         | 
| 158 | 
             
                        # 请求处理结束,开始下一个循环
         | 
| 159 | 
             
                        self.child.send('[Finish]')
         | 
| 160 |  | 
|  | |
| 218 | 
             
                    if not moss_handle.success: 
         | 
| 219 | 
             
                        moss_handle = None
         | 
| 220 | 
             
                        return
         | 
| 221 | 
            +
                else:
         | 
| 222 | 
            +
                    response = "[Local Message]: 等待MOSS响应中 ..."
         | 
| 223 | 
            +
                    chatbot[-1] = (inputs, response)
         | 
| 224 | 
            +
                    yield from update_ui(chatbot=chatbot, history=history)
         | 
| 225 |  | 
| 226 | 
             
                if additional_fn is not None:
         | 
| 227 | 
             
                    import core_functional
         | 
|  | |
| 236 | 
             
                    history_feedin.append([history[2*i], history[2*i+1]] )
         | 
| 237 |  | 
| 238 | 
             
                # 开始接收chatglm的回复
         | 
|  | |
|  | |
|  | |
| 239 | 
             
                for response in moss_handle.stream_chat(query=inputs, history=history_feedin, sys_prompt=system_prompt, max_length=llm_kwargs['max_length'], top_p=llm_kwargs['top_p'], temperature=llm_kwargs['temperature']):
         | 
| 240 | 
            +
                    chatbot[-1] = (inputs, response.strip('<|MOSS|>: '))
         | 
| 241 | 
             
                    yield from update_ui(chatbot=chatbot, history=history)
         | 
| 242 |  | 
| 243 | 
             
                # 总结输出
         | 
| 244 | 
             
                if response == "[Local Message]: 等待MOSS响应中 ...":
         | 
| 245 | 
             
                    response = "[Local Message]: MOSS响应异常 ..."
         | 
| 246 | 
            +
                history.extend([inputs, response.strip('<|MOSS|>: ')])
         | 
| 247 | 
             
                yield from update_ui(chatbot=chatbot, history=history)
         |