[BUG] 对话报错openai.APIConnectionError: Connection error
问题描述 / Problem Description 离线部署Langchain-Chatchat,使用服务器(无GPU)CPU部署,问答时报错:openai.APIConnectionError: Connection error
复现问题的步骤 / Steps to Reproduce
- 执行 'python startup.py -a
- 输入'hi'点击 '发送'
- 问答界面无回答结果
- 问题出现,后台报错:openai.APIConnectionError: Connection error
附件:chatchat_error.zip 配置见:附件中的*_config.py 错误log见:附件中的run_err_2024_0320_1738.log
预期的结果 / Expected Result 使用离线模型回答问题。
现的结果 / Describe the expected result.
实际结果 / Actual Result 问答界面无回答结果,后台报错:openai.APIConnectionError: Connection error
环境信息 / Environment Information ==============================Langchain-Chatchat Configuration============================== 操作系统:Linux-6.5.0-25-generic-x86_64-with-glibc2.35. python版本:3.11.8 (main, Feb 26 2024, 21:39:34) [GCC 11.2.0] 项目版本:v0.2.10 langchain版本:0.0.354. fastchat版本:0.2.36
当前使用的分词器:ChineseRecursiveTextSplitter 当前启动的LLM模型:['chatglm3-6b'] @ cpu {'device': 'cpu', 'host': '0.0.0.0', 'infer_turbo': False, 'model_path': '/home/qiaoquanbin/project/chatgpt/Langchain-Chatchat/Langchain-Chatchat-demo/chatglm3-6b', 'model_path_exists': True, 'port': 20002} 当前Embbedings模型: bge-large-zh-v1.5 @ cpu ==============================Langchain-Chatchat Configuration==============================
附加信息 / Additional Information 如何在CPU上离线部署和使用,不使用openai-api。
嗨,@quinbyjoe!很高兴再次看到你在这里寻求帮助。希望你最近一切都好!
根据您提供的信息,您在尝试在CPU服务器上离线部署Langchain-Chatchat时遇到了"openai.APIConnectionError: Connection error"错误。这可能是由于尝试连接到OpenAI API,但您的目标是完全离线运行。
以下是一些可能的解决步骤:
-
确保离线模式:您的脚本并未明确显示连接到OpenAI的API,这是正确的,因为您希望离线运行。但是,请确保您的应用程序的其他部分没有尝试连接到OpenAI的API。
-
检查设备配置:您提到使用的是CPU服务器。脚本默认使用CUDA(
--device参数默认为"cuda")。由于您在CPU上运行,因此在运行脚本时确保将--device参数设置为"cpu"。这可以通过在启动服务器时在命令行中添加--device cpu来完成。 -
检查环境变量:如果您的应用程序中有任何环境变量或配置可能尝试连接到OpenAI的API,请确保它们正确设置为离线使用。这包括禁用或删除与OpenAI相关的任何API密钥或端点。
-
检查依赖项:确保所有必要的依赖项都已正确安装和配置。这包括您试图加载的模型(
THUDM/chatglm2-6b和THUDM/chatglm2-6b-32k)以及运行服务器和处理请求所需的其他软件依赖项。 -
日志和调试:利用脚本中的日志设置来检查可能指示连接错误发生的原因的任何错误或警告。日志可能会提供更多关于脚本试图连接到什么或哪些操作失败的见解。
-
网络配置:由于您在离线运行,因此确保您的服务器的网络配置不会无意中重定向或阻止您的部署可能依赖的内部连接。
-
更新脚本以适应CPU使用:如果有任何硬编码或暗示依赖于GPU特性(如CUDA)的内容,请更新脚本以确保与仅CPU操作的兼容性。这包括检查任何模型加载或推理代码,以确保它不需要GPU特定的特性。
通过遵循这些步骤并确保您的部署正确配置为在CPU服务器上离线运行,您应该能够解决"openai.APIConnectionError: Connection error"。
此外,我在Langchain-Chatchat的问题跟踪中找到了两个类似的问题,它们可能对您有所帮助:
-
[BUG] 调用本机模型出现 Error communicating with OpenAI 的高频问题,希望开发大大能给一个方法:这个问题的建议解决方案是更新
model_config.py文件以反映正确的本地模型路径和API基础URL。确保API基础URL与server_config.FSCHAT_OPENAI_API中设置的一致。 -
【解决方案】关于使用非GPT模型还继续报错Error communicating with OpenAI。:如果不使用GPT模型,建议注释掉"gpt-3.5-turbo"的配置。并确保
api_base_url中的IP地址与server_config.py中的一致。
希望这些信息能帮助您解决问题。如果问题仍然存在,或者您有其他问题,欢迎随时向我提问。
Sources
- [BUG] 调用本机模型出现 Error communicating with OpenAI 的高频问题,希望开发大大能给一个方法
- 【解决方案】关于使用非GPT模型还继续报错Error communicating with OpenAI。
- server/llm_api_stale.py
- startup.py
About Dosu
This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.
@zRzRzRzRzRzRzR 您好,麻烦帮忙分析解答,感谢。
model_config.py做如下修改,依然无法解决问题:
ONLINE_LLM_MODEL = {
"chatglm3-6b": {
"model_name": "chatglm3-6b",
"api_base_url": "http://127.0.0.1,20000/v1",
"api_key": "EMPTY",
"local_model_path": "/home/qiaoquanbin/project/chatgpt/Langchain-Chatchat/Langchain-Chatchat-demo/chatglm3-6b",
},
"openai-api": {
"model_name": "glm-4",
"api_base_url": "http://127.0.0.1,20000/v1",
"api_key": "EMPTY",
"openai_proxy": "",
},
我也遇到了一样的问题,请问你解决了吗
我也遇到了这个问题 为什么用的本地的离线模型还会一直报openai的连接错误
这个问题已经被标记为 stale ,因为它已经超过 30 天没有任何活动。
这个问题已经被自动关闭,因为它被标为 stale 后超过 14 天没有任何活动。
我也遇到了一样的问题,请问你解决了吗
没有解决。
我也遇到了这个问题 为什么用的本地的离线模型还会一直报openai的连接错误
应该是配置的问题,但是无法解决。