Skip to content

常见问题

Keldos edited this page Apr 8, 2023 · 36 revisions

欢迎使用 川虎ChatGPT!在这里提供了一些常见问题的解答、故障排除和已知问题的信息。

如果您遇到了问题,请首先查看本页面并尝试解决。如果需要进一步帮助,可以提交 issue 或在讨论区提问。
请注意,在提交新 issue 之前请确保您已经充分利用了其他资源来解决问题,包括:

  • 查阅本页内容发现未列出您遇到的问题
  • 查阅所有 issue 发现没有同类问题
  • 查阅所有 讨论 发现没有同类问题
  • 通过各种方式在互联网上检索(包括询问ChatGPT与New Bing)您的问题后但仍无法自行解决

现在,您可以前往 GitHub Issues 报告问题或故障请求新功能,或前往 Github Discussion 向其他用户提问

另外,请注意“问题”一词表示“question”和“problem”的区别。如果您需要报告项目本身实际的技术问题、故障或错误(problem),那么欢迎提交一个新的 issue。但是,如果您只是碰到了一些自己无法解决的问题需要向其他用户或我们提问(question),那么最好的选择是在讨论区中发布一个新的帖子。 如果您不确定,请首先考虑在讨论区提问。

目前,我们默认了您发在 issue 中的问题是一个 question,但我们希望避免再在 issue 中见到类似“我该怎么操作?”的提问QAQ。

再次感谢您对我们项目的使用和支持。

代理配置

OpenAI不允许在不受支持的地区使用API,否则可能会导致账号被风控。下面以Clash和Surge为例(您完全可以选择其他的代理软件,也完全可以使用Clash而不手动改配置),给出代理配置示例

  • 在Clash配置文件中,加入:

    rule-providers:
      private:
        type: http
        behavior: domain
        url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
        path: ./ruleset/ads.yaml
        interval: 86400
    
    rules:
     - RULE-SET,private,DIRECT
     - DOMAIN-SUFFIX,openai.com,<你的代理规则>
    
  • 如果你使用 Surge,请在配置文件中加入:

    [Rule]
    DOMAIN-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/private.txt,DIRECT
    DOMAIN-SUFFIX,openai.com,<你的代理规则>
    

请注意替换示例中“<你的代理规则>”,如果您不知道怎么替换,甚至可以自行百度。

另外,强烈建议打开Clash的TUN模式(Surge的增强模式),否则终端流量可能不会走代理。或者,你也可以配置HTTPS_PROXY这个环境变量,川虎ChatGPT会自动从环境变量中获取代理配置。

注意,如果你的配置文件中本来已经有对应的字段,请将这些规则合并到已有字段中,否则代理软件会报错。

  • 如果您对如何更改代理配置文件有更多的疑问,请移步 讨论区 提问,也欢迎有能力的用户为提问提供解答!
  • 请勿再提交任何代理配置相关的 ISSUE!
  • 请勿再提交任何代理配置相关的 ISSUE!
  • 请勿再提交任何代理配置相关的 ISSUE!

故障排除

首先,请先尝试拉取本项目的最新更改,使用最新的代码重试。具体步骤为:

  1. 点击网页上的 Download ZIP 下载最新代码,或

    git pull https://github.com/GaiZhenbiao/ChuanhuChatGPT.git main -f
  2. 然后,尝试再次安装依赖(可能本项目引入了新的依赖):

    pip install -r requirements.txt
    
  3. 如果还有问题,可以再尝试重装 gradio:

    pip install gradio --upgrade --force-reinstall
    

很多时候,这样就可以解决问题。

  • 另外,我们已知本项目最低兼容的 Python 版本为 3.8.1,但为了避免更多依赖问题,建议使用 Python3.9 或更高版本。

如果问题仍然存在,请核对您的错误信息并参考以下内容:

获取API使用情况失败:API request failed with status code 403

系正常现象……4月2日开始 OpenAI 更改了余额查询相关接口,额度显示功能暂不可用。对话功能不受影响。

参见:#505

TypeError: Base.set () got an unexpected keyword argument

这是因为川虎ChatGPT紧跟Gradio发展步伐,你的Gradio版本太旧了。请升级依赖:

pip install -r requirements.txt --upgrade

SSLError: HTTPSConnectionPool(host='api.openai.com', port=443)

requests.exceptions.SSLError: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions 
(Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))

参见:#49#25

请参考配置代理部分,将openai.com加入你使用的代理App的代理规则。注意不要将127.0.0.1加入代理,否则会有下一个错误。

ModuleNotFoundError: No module named 'modules.<module-name>'; 'modules' is not a package

这个错误通常是由于 Python 解释器无法将 modules 文件夹识别为包导致的。请尝试升级 Python,或在 modules 文件夹内新建一个名为 __init__.py 的空文件。

ModuleNotFoundError: No module named '<package.module>'(如langchain.chat_models)

可能需要更新相关依赖。例如,若报错ModuleNotFoundError: No module named 'langchain.chat_models',则需要更新langchain,方法是:

pip install langchain —-upgrade

更新其他依赖的方法类似,语法为:pip install <package> —-upgrade

如果尝试更新依赖后错误表现未变,可能是您使用的Python版本过低无法安装较新的依赖,请尝试将Python更新到3.9以上。
或者可能该依赖仍未能更新到新版本,尝试换用pypi的官方源下载包。见这一节

ImportError: cannot import name '<some-name>' from '<package>' (如llama_index)

需要更新相关依赖。例如,若报错ImportError: cannot import name 'ServiceContext' from 'llama_index',则需要更新llama_index,方法见上一节。

为了避免单个包升级后导致依赖关系出现问题,您也可以直接升级所有的依赖:

pip install -r requirements.txt --upgrade

如果依赖仍未能更新到新版本,尝试换用pypi的官方源下载包。见这一节

ImportError: cannot import name 'BaseOutputParser' from 'langchain.output_parsers'

新版 langchain 修改了包结构,暂时请先尝试把 requirements.txt 中 langchain 改为 langchain<0.0.119 重新安装依赖。(过时的信息)
参见:#314(过时的信息)

现在将两个包都升级到最新版即可。您也可以选择直接升级所有依赖:

pip install -r requirements.txt --upgrade

No matching distribution found for <package> (如tiktoken)

可能是因为你使用的pip源中没有符合条件的包。请尝试换用pypi的官方源下载包:

  • 临时换用官方源下载某个包:
    pip install <package> -i https://pypi.org/simple
    
    具体对tiktoken来说,写法是:
    pip install tiktoken -i https://pypi.org/simple
    
  • 或者永久替换为官方源:
    pip config set global.index-url https://pypi.org/simple
    

Something went wrong Expecting value: line 1 column 1 (char 0)

出现这个错误的原因是127.0.0.1被代理了,导致网页无法和后端通信。请设置代理软件,将127.0.0.1加入直连(具体方法见上面“SSL Error”部分)。

Something went wrong Connection errored out

关闭代理,启动App,开启代理,然后试试能不能用。如果能,说明是代理的规则有问题。

如果是部署在服务器上,需要在ChuanhuChatbot.py最后手动填写服务器和端口的信息。下图是一个示例。

image

如果仅配置用户名和密码后提示该错误而不配置时正常,可能还需要手动将 <你的python路径>/dist-packages/gradio/routes.py 中的 websocket.cookies.get("access-token") 改为 websocket.cookies.get("access-token-unsecure"),具体请见 #89

参见:#68#100#89#287

部署后无法通过局域网IP访问

需要在ChuanhuChatbot.py最后手动填写服务器和端口的信息。见上个问题中的图片。

参见:#293

ValueError: not enough values to unpack (expected 2, got 0)

代理问题,请参照前文配置代理。

HTTPSConnectionPool: Failed to establish a new connection

代理问题,请参照前文配置代理。

☹️发生了错误:连接超时,无法获取对话。请检查网络连接,或者API-Key是否有效。

可能是代理问题,也可能是OpenAI那边较为拥堵。请检查代理配置,如仍不行请尝试刷新页面或耐心等待。

openai.error.APIConnectionError

可能是urllib3的版本导致的。urllib3版本大于1.25.11,可能出现这个问题。 解决方案是卸载urllib3然后重装至1.25.11版本再重新运行一遍就可以。

在终端或命令提示符中卸载urllib3

pip uninstall urllib3

然后,通过使用指定版本号的pip install命令来安装所需的版本:

pip install urllib3==1.25.11

参见:#5。参考自:解决OpenAI API 挂了代理还是连接不上的问题

SyntaxError: invalid syntax placeholder=f"OpenAI API-key..."

Python版本过低。请将Python更新到3.9以上。

No module named '_bz2'

安装python前先下载 bzip 编译环境

sudo yum install bzip2-devel

login页面账户用户名密码验证没有反应

Gradio 3.22 的问题,现已被解决。请参照前文更新gradio。

在Python文件里设定API Key之后验证失败

在ChuanhuChatbot.py中设置APIkey后验证出错,提示“发生了未知错误Orz”

参见:#26

That model does not exist

请选择您确认有权限调用的模型,一般用户应使用 gpt-3.5-turbo。

You exceeded your current quota, please check your plan and billing details.

你可能把OpenAI提供的配额用完了(或到期了)。你可以在 https://platform.openai.com/account/usage 中查看您的用量和余额。

其他疑问

为什么安全软件提示有木马病毒?

因为 Gradio使用了 frp 来创建共享链接……实际并不需要担心。

参考:https://github.com/gradio-app/gradio/issues/3230

Hugging Face 中亮暗色模式看起来有问题怎么办?

请到 Hugging Face 主题设置中开启“亮暗色模式跟随系统”,就正常了。 image

参考:https://huggingface.co/spaces/JohnSmith9982/ChuanhuChatGPT/discussions/40

我可以修改本项目的代码再发布吗?我该怎么引用本项目?

这类问题请参考 使用许可

已知问题

  • 部分PDF解析可能会出错
  • 部分特殊符号可能会错误地被Markdown渲染:
    • 表格中的 $
  • 连续的列表如存在换行可能在界面中被显示为多个新列表
  • 有序列表与无序列表的混排或包含子列表的列表项很可能出错(请以终端中的输出或导出的markdown格式对话记录为准)

更多错误修复信息请查看 更新日志

Clone this wiki locally