GaiZhenbiao / ChuanhuChatGPT

GUI for ChatGPT API and many LLMs. Supports agents, file-based QA, GPT finetuning and query with web search. All with a neat UI.
https://huggingface.co/spaces/JohnSmith9982/ChuanhuChatGPT
GNU General Public License v3.0
15.16k stars 2.28k forks source link

[Bug]: 上传pdf文件后第一个问题正常回复,之后都是失败的 #576

Closed 1353604736 closed 1 year ago

1353604736 commented 1 year ago

这个bug是否已存在现有issue了?

错误表现

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

复现操作

上传pdf对话第一个有回复,之后没响应

错误日志

ed: anyio<5.0,>=3.0 in f:\chatgpt\chuanhuchatgpt-main\myenv\lib\site-packages (from httpcore<0.17.0,>=0.15.0->httpx->gradio->-r requirements.txt (line 1)) (3.6.2)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in f:\chatgpt\chuanhuchatgpt-main\myenv\lib\site-packages (from jsonschema>=3.0->altair>=4.2.0->gradio->-r requirements.txt (line 1)) (0.19.3)
Requirement already satisfied: uc-micro-py in f:\chatgpt\chuanhuchatgpt-main\myenv\lib\site-packages (from linkify-it-py<3,>=1->markdown-it-py[linkify]>=2.0.0->gradio->-r requirements.txt (line 1)) (1.0.1)
Requirement already satisfied: mypy-extensions>=0.3.0 in f:\chatgpt\chuanhuchatgpt-main\myenv\lib\site-packages (from typing-inspect>=0.4.0->dataclasses_json->llama_index==0.5.5->-r requirements.txt (line 10)) (1.0.0)
Requirement already satisfied: pycparser in f:\chatgpt\chuanhuchatgpt-main\myenv\lib\site-packages (from cffi>=1.12->cryptography>=36.0.0->pdfminer.six==20221105->pdfplumber->-r requirements.txt (line 14)) (2.21)
(myenv) PS F:\ChatGPT\ChuanhuChatGPT-main> python ChuanhuChatbot.py
2023-04-09 15:05:23,089 [INFO] [utils.py:313] 获取模板文件名列表
2023-04-09 15:05:23,089 [INFO] [utils.py:264] 获取文件名列表,目录为templates,文件类型为['.csv', 'json'],是否为纯文本 列表True
2023-04-09 15:05:23,090 [INFO] [utils.py:287] 加载模板文件1 中文提示词.json,模式为2(0为返回字典和下拉菜单,1为返回下拉菜单,2为返回字典)
2023-04-09 15:05:23,090 [INFO] [utils.py:289] Loading template...
2023-04-09 15:05:23,597 [WARNING] [utils.py:388] 无法获取IP地址信息。
{'error': True, 'reason': 'RateLimited', 'message': 'Visit https://ipapi.co/ratelimited/ for details'}
F:\ChatGPT\ChuanhuChatGPT-main\myenv\lib\site-packages\gradio\deprecation.py:43: UserWarning: You have unused kwarg parameters in Files, please remove them: {'multiple': True}
  warnings.warn(
2023-04-09 15:05:23,609 [INFO] [utils.py:313] 获取模板文件名列表
2023-04-09 15:05:23,609 [INFO] [utils.py:264] 获取文件名列表,目录为templates,文件类型为['.csv', 'json'],是否为纯文本 列表True
2023-04-09 15:05:23,610 [INFO] [utils.py:313] 获取模板文件名列表
2023-04-09 15:05:23,610 [INFO] [utils.py:264] 获取文件名列表,目录为templates,文件类型为['.csv', 'json'],是否为纯文本 列表True
2023-04-09 15:05:23,610 [INFO] [utils.py:313] 获取模板文件名列表
2023-04-09 15:05:23,611 [INFO] [utils.py:264] 获取文件名列表,目录为templates,文件类型为['.csv', 'json'],是否为纯文本 列表True
2023-04-09 15:05:23,611 [INFO] [utils.py:287] 加载模板文件1 中文提示词.json,模式为1(0为返回字典和下拉菜单,1为返回下拉菜单,2为返回字典)
2023-04-09 15:05:23,611 [INFO] [utils.py:289] Loading template...
2023-04-09 15:05:23,620 [INFO] [utils.py:282] 从用户  中获取历史记录文件名列表
2023-04-09 15:05:23,620 [INFO] [utils.py:264] 获取文件名列表,目录为history,文件类型为['.json'],是否为纯文本列表True
2023-04-09 15:05:23,620 [INFO] [utils.py:282] 从用户  中获取历史记录文件名列表
2023-04-09 15:05:23,621 [INFO] [utils.py:264] 获取文件名列表,目录为history,文件类型为['.json'],是否为纯文本列表True
2023-04-09 15:05:24,121 [INFO] [ChuanhuChatbot.py:381]
川虎的温馨提示:访问 http://localhost:7860 查看界面
Reloading javascript...
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
2023-04-09 15:06:59,903 [INFO] [chat_func.py:275] 输入为:MA5:MA(C,5); JDZ:=ABS(MA5-REF(MA5,1)); SHANG:=MA5>=REF(MA5,1); XIA:=MA5<=REF(MA5,1); 要求:麦语言在SHANG成立时,从0开始累加JDZ; 在XIA成立时,从0开始累加JDZ;,如何实现要求的后续代码,使用中文回复

2023-04-09 15:06:59,909 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:06:59,909 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:07:03,130 [INFO] [chat_func.py:120] 输入token计数: 142
422it [00:26, 16.06it/s]
2023-04-09 15:07:31,093 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[352]
2023-04-09 15:07:31,093 [INFO] [chat_func.py:389] 回答为:可以使用累加函数SUM()来实现要求的后续代码。具体代码如下:

累加SHANG成立时的JDZ:SUM(IF(SHANG, JDZ, 0), 0)

累加XIA成立时的JDZ:SUM(IF(XIA, JDZ, 0), 0)

解释一下:SUM()函数的第一个参数为累加的变量,第二个参数为初始累加值。

对于第一个累加函数,IF(SHANG, JDZ, 0)表示如果SHANG成立,则返回JDZ的值,否则返回0。如果累加的初始值为0,那么就可以实现从0开始累加JDZ。

同理,对于第二个累加函数,IF(XIA, JDZ, 0)表示如果XIA成立,则返回JDZ的值,否则返回0。

希望能帮到你!
2023-04-09 15:10:18,286 [INFO] [chat_func.py:275] 输入为:不是从最左边一次性累加,而是从SHANG成立开始从0累加JDZ到SHANG不成立结束,
2023-04-09 15:10:18,297 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:10:18,297 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:10:18,298 [INFO] [chat_func.py:120] 输入token计数: 43
768it [00:51, 14.88it/s]
2023-04-09 15:11:11,337 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[352, 426]
2023-04-09 15:11:11,337 [INFO] [chat_func.py:389] 回答为:非常抱歉,我理解有误。根据你的需求,建议使用以下代码实现:

// 计算当天是否满足SHANG条件
SHANG_TODAY:=MA5>=REF(MA5,1);

// 如果当天满足SHANG条件,且前一天未满足,则从0开始累加JDZ
IF(SHANG_TODAY AND (REF(SHANG_TODAY,1)=0),
   begin
      SHANG_SUM:=JDZ;
      SHANG_FLAG:=1;
   end);

// 如果当天满足SHANG条件,并且前一天也满足,则继续累加JDZ
IF(SHANG_TODAY AND (REF(SHANG_TODAY,1)=1),
   begin
      IF(SHANG_FLAG=1, SHANG_SUM:=SHANG_SUM+JDZ, SHANG_SUM:=0);
      SHANG_FLAG:=1;
   end);

// 如果当天不满足SHANG条件,则将累加JDZ的标志位置为0
IF(NOT SHANG_TODAY, SHANG_FLAG:=0);

// 输出当天累加的结果
PRINT("SHANG累加结果:", SHANG_SUM);

类似地,也可以使用类似的代码实现XIA条件的累加。以上代码中,SHANG_SUM表示累加的结果,SHANG_FLAG表示是否在进行累加的标志位。如果当天满足SHANG条件且前一天未满足,则认为需要重新从0开始累加JDZ;如果当天满足SHANG条件且前一天也满足,则继续累加;如果当天不满足SHANG条件,则将累加标志置为0。
2023-04-09 15:11:45,132 [INFO] [utils.py:318] 应用模板中,选择为作为 IT 专家,原始系统提示为你是文华财经麦语言的高级编程人员
2023-04-09 15:12:08,503 [INFO] [config.py:148] 更新后的文件参数为:defaultdict(<function <lambda> at 0x00000178BDC953F0>, {'pdf': {'two_column': True, 'formula_ocr': True}})
2023-04-09 15:12:57,460 [INFO] [chat_func.py:275] 输入为:T9全教程_2.pdf内容概括一下
2023-04-09 15:12:57,470 [INFO] [chat_func.py:287] 加载索引中……(这可能需要几分钟)
2023-04-09 15:13:02,377 [INFO] [llama_func.py:46] loading file: T9全教程_2.pdf
100%|████████████████████████████████████████████████████████████████████████████████| 360/360 [00:06<00:00, 55.94it/s]
2023-04-09 15:13:09,274 [INFO] [llama_func.py:118] 构建索引中……
2023-04-09 15:14:57,369 [INFO] [token_counter.py:60] > [build_index_from_nodes] Total LLM token usage: 0 tokens
2023-04-09 15:14:57,369 [INFO] [token_counter.py:63] > [build_index_from_nodes] Total embedding token usage: 663987 tokens
2023-04-09 15:15:06,837 [INFO] [chat_func.py:291] 索引构建完成,获取回答中……
F:\ChatGPT\ChuanhuChatGPT-main\myenv\lib\site-packages\langchain\llms\openai.py:608: UserWarning: You are trying to use a chat model. This way of initializing it is no longer supported. Instead, please use: `from langchain.chat_models import ChatOpenAI`
  warnings.warn(
2023-04-09 15:15:07,588 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:15:07,588 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:15:07,589 [INFO] [chat_func.py:120] 输入token计数: 22
2023-04-09 15:15:18,173 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[352, 426, 22]
2023-04-09 15:15:18,173 [INFO] [chat_func.py:389] 回答为:
2023-04-09 15:16:52,927 [ERROR] [base_events.py:1752] Exception in callback _ProactorBasePipeTransport._call_connection_lost(None)
handle: <Handle _ProactorBasePipeTransport._call_connection_lost(None)>
Traceback (most recent call last):
  File "C:\veighna_studio\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\veighna_studio\lib\asyncio\proactor_events.py", line 165, in _call_connection_lost
    self._sock.shutdown(socket.SHUT_RDWR)
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
2023-04-09 15:17:47,220 [INFO] [chat_func.py:275] 输入为:概括此文件T9全教程_2.pdf
2023-04-09 15:17:47,231 [INFO] [chat_func.py:287] 加载索引中……(这可能需要几分钟)
2023-04-09 15:17:47,246 [INFO] [llama_func.py:113] 找到了缓存的索引文件,加载中……
2023-04-09 15:17:49,177 [INFO] [chat_func.py:291] 索引构建完成,获取回答中……
2023-04-09 15:17:50,483 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:17:50,483 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:17:50,483 [INFO] [chat_func.py:120] 输入token计数: 33
374it [00:24, 14.97it/s]
2023-04-09 15:18:17,021 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[219]
2023-04-09 15:18:17,021 [INFO] [chat_func.py:389] 回答为:此文件 "T9订单流策略量化软件使用说明书" 是一份关于T9算法交易和期货量化交易的全面教程。其中,第一部分介绍了算法交易的概念、与量化交易的关系以及滑点损失等主题;第二部分则详细阐述了期货量化交易的基本流程和价值;第三部分则针对T9编写和机制、公式编写和回测常见问题进行了详细解答。此外,此文件还介绍了可行性分析、盘口算法模型回测、参数优化以及运行模型自动交易等相关主题。[1][2][3][4][5]
2023-04-09 15:19:31,085 [INFO] [chat_func.py:275] 输入为:此pdf里A_IsExchangeOpen函数如何使用,是什么意思
2023-04-09 15:19:31,095 [INFO] [chat_func.py:287] 加载索引中……(这可能需要几分钟)
2023-04-09 15:19:31,111 [INFO] [llama_func.py:113] 找到了缓存的索引文件,加载中……
2023-04-09 15:19:33,004 [INFO] [chat_func.py:291] 索引构建完成,获取回答中……
2023-04-09 15:19:34,333 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:19:34,333 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:19:34,335 [INFO] [chat_func.py:120] 输入token计数: 25
2023-04-09 15:19:44,939 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[219, 25]
2023-04-09 15:19:44,939 [INFO] [chat_func.py:389] 回答为:
2023-04-09 15:20:08,589 [INFO] [chat_func.py:275] 输入为:此文件里A_IsExchangeOpen函数如何使用,是什么意思
2023-04-09 15:20:08,599 [INFO] [chat_func.py:287] 加载索引中……(这可能需要几分钟)
2023-04-09 15:20:08,614 [INFO] [llama_func.py:113] 找到了缓存的索引文件,加载中……
2023-04-09 15:20:10,519 [INFO] [chat_func.py:291] 索引构建完成,获取回答中……
2023-04-09 15:20:11,842 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:20:11,842 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:20:11,845 [INFO] [chat_func.py:120] 输入token计数: 25
2023-04-09 15:20:22,482 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[219, 25, 25]
2023-04-09 15:20:22,482 [INFO] [chat_func.py:389] 回答为:
2023-04-09 15:20:33,813 [INFO] [chat_func.py:275] 输入为:此文件里A_IsExchangeOpen函数如何使用,是什么意思
2023-04-09 15:20:33,824 [INFO] [chat_func.py:287] 加载索引中……(这可能需要几分钟)
2023-04-09 15:20:33,839 [INFO] [llama_func.py:113] 找到了缓存的索引文件,加载中……
2023-04-09 15:20:35,715 [INFO] [chat_func.py:291] 索引构建完成,获取回答中……
2023-04-09 15:20:37,287 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:20:37,287 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:20:37,287 [INFO] [chat_func.py:120] 输入token计数: 25
0it [00:00, ?it/s]2023-04-09 15:20:38,495 [INFO] [chat_func.py:160]   "error": {
2023-04-09 15:20:38,515 [INFO] [chat_func.py:160]     "message": "This model's maximum context length is 4097 tokens. However, your messages resulted in 4928 tokens. Please reduce the length of the messages.",
2023-04-09 15:20:38,525 [INFO] [chat_func.py:160]     "type": "invalid_request_error",
2023-04-09 15:20:38,535 [INFO] [chat_func.py:160]     "param": "messages",
2023-04-09 15:20:38,546 [INFO] [chat_func.py:160]     "code": "context_length_exceeded"
2023-04-09 15:20:38,557 [INFO] [chat_func.py:160]   }
2023-04-09 15:20:38,568 [INFO] [chat_func.py:160] }
8it [00:00, 94.35it/s]
2023-04-09 15:20:38,579 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[25, 25, 25]
2023-04-09 15:20:38,579 [INFO] [chat_func.py:389] 回答为:
2023-04-09 15:21:33,615 [INFO] [chat_func.py:275] 输入为:此文件里A_IsExchangeOpen函数如何使用,是什么意思
2023-04-09 15:21:33,626 [INFO] [chat_func.py:287] 加载索引中……(这可能需要几分钟)
2023-04-09 15:21:33,642 [INFO] [llama_func.py:113] 找到了缓存的索引文件,加载中……
2023-04-09 15:21:35,544 [INFO] [chat_func.py:291] 索引构建完成,获取回答中……
2023-04-09 15:21:37,184 [INFO] [chat_func.py:351] 使用流式传输
2023-04-09 15:21:37,184 [INFO] [chat_func.py:97] 实时回答模式
2023-04-09 15:21:37,185 [INFO] [chat_func.py:120] 输入token计数: 25
2023-04-09 15:21:47,846 [INFO] [chat_func.py:387] 传输完毕。当前token计数为[25, 25, 25]
2023-04-09 15:21:47,846 [INFO] [chat_func.py:389] 回答为:

运行环境

帮助解决

补充说明

No response

xingfanxia commented 1 year ago
0it [00:00, ?it/s]2023-04-09 15:20:38,495 [INFO] [chat_func.py:160]   "error": {
2023-04-09 15:20:38,515 [INFO] [chat_func.py:160]     "message": "This model's maximum context length is 4097 tokens. However, your messages resulted in 4928 tokens. Please reduce the length of the messages.",
2023-04-09 15:20:38,525 [INFO] [chat_func.py:160]     "type": "invalid_request_error",
2023-04-09 15:20:38,535 [INFO] [chat_func.py:160]     "param": "messages",
2023-04-09 15:20:38,546 [INFO] [chat_func.py:160]     "code": "context_length_exceeded"
2023-04-09 15:20:38,557 [INFO] [chat_func.py:160]   }
2023-04-09 15:20:38,568 [INFO] [chat_func.py:160] }

报错已经告诉你了, token超限了