mukulpatnaik / researchgpt

A LLM based research assistant that allows you to have a conversation with a research paper
https://www.dara.chat
MIT License
3.55k stars 340 forks source link

Implemented GPT-3.5, add Chinese language support, and enhance retrieval results #31

Closed MrPeterJin closed 9 months ago

MrPeterJin commented 1 year ago

This is a fork of the original ResearchGPT. The current version modifies several settings from the original:

goldengrape commented 1 year ago

I like this.

HiLittleFriend commented 1 year ago

invalid response from api,这个报错怎么解决呀,感觉是网络的问题

MrPeterJin commented 1 year ago

invalid response from api,这个报错怎么解决呀,感觉是网络的问题

您填入了 OpenAI API key 了吗?如果您在中国大陆,网络是否在代理环境下?这边测试没有问题

Raymondxu-CivilTechLabs commented 10 months ago

Processing pdf 5e7568aa29ebe7874c2791b4d64226cf Parsing paper Total number of pages: 8 Done parsing paper Extracting text from pdf Creating dataframe Done creating dataframe Calculating embeddings INFO: 127.0.0.1:64521 - "POST /process_pdf HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connection.py", line 174, in _new_conn conn = connection.create_connection( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\util\connection.py", line 95, in create_connection raise err File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\util\connection.py", line 85, in create_connection sock.connect(sa) TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 1042, in _validate_conn conn.connect() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connection.py", line 363, in connect self.sock = conn = self._new_conn() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connection.py", line 179, in _new_conn raise ConnectTimeoutError( urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x000001ED233A5360>, 'Connection to api.openai.com timed out. (connect timeout=600)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\requests\adapters.py", line 489, in send resp = conn.urlopen( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopen return self.urlopen( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopen return self.urlopen( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen retries = retries.increment( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\urllib3\util\retry.py", line 592, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/engines/text-embedding-ada-002/embeddings (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001ED233A5360>, 'Connection to api.openai.com timed out. (connect timeout=600)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\openai\api_requestor.py", line 516, in request_raw result = _thread_context.session.request( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\requests\sessions.py", line 587, in request resp = self.send(prep, send_kwargs) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\requests\sessions.py", line 701, in send r = adapter.send(request, kwargs) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\requests\adapters.py", line 553, in send raise ConnectTimeout(e, request=request) requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/engines/text-embedding-ada-002/embeddings (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001ED233A5360>, 'Connection to api.openai.com timed out. (connect timeout=600)'))

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\tenacity__init.py", line 382, in call__ result = fn(*args, *kwargs) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\openai\embeddings_utils.py", line 23, in get_embedding return openai.Embedding.create(input=[text], engine=engine)["data"][0]["embedding"] File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\openai\api_resources\embedding.py", line 33, in create response = super().create(args, **kwargs) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\openai\api_resources\abstract\engine_apiresource.py", line 153, in create response, , api_key = requestor.request( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\openai\api_requestor.py", line 216, in request result = self.request_raw( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\openai\api_requestor.py", line 526, in request_raw raise error.Timeout("Request timed out: {}".format(e)) from e openai.error.Timeout: Request timed out: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/engines/text-embedding-ada-002/embeddings (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001ED233A5360>, 'Connection to api.openai.com timed out. (connect timeout=600)'))

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 408, in run_asgi result = await app( # type: ignore[func-returns-value] File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in call return await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\applications.py", line 1106, in call await super().call(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\applications.py", line 122, in call await self.middleware_stack(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\errors.py", line 184, in call raise exc File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\errors.py", line 162, in call await self.app(scope, receive, _send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\cors.py", line 91, in call await self.simple_response(scope, receive, send, request_headers=headers) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\cors.py", line 146, in simple_response await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\exceptions.py", line 79, in call raise exc File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\exceptions.py", line 68, in call await self.app(scope, receive, sender) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 20, in call raise e File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 17, in call await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\routing.py", line 718, in call await route.handle(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\routing.py", line 276, in handle await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\routing.py", line 66, in app response = await func(request) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\routing.py", line 274, in app raw_response = await run_endpoint_function( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\routing.py", line 191, in run_endpoint_function return await dependant.call(values) File "E:\3_Mypycahrm_WP\MyResearch\research-chat\researchgpt\main.py", line 189, in process_pdf df = chatbot.embeddings(df) File "E:\3_Mypycahrm_WP\MyResearch\research-chat\researchgpt\main.py", line 114, in embeddings embeddings = df.text.apply([lambda x: get_embedding(x, engine=embedding_model)]) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\series.py", line 4760, in apply ).apply() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 1197, in apply return self.apply_list_or_dict_like() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 606, in apply_list_or_dict_like result = self.agg_or_apply_list_like(op_name="apply") File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 720, in agg_or_apply_list_like keys, results = self.compute_list_like(op_name, obj, kwargs) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 354, in compute_list_like new_res = getattr(colg, op_name)(a, *args, *kwargs) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\series.py", line 4760, in apply ).apply() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 1204, in apply return self.apply_compat() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 1257, in apply_compat result = obj.apply(func, by_row="compat") File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\series.py", line 4760, in apply ).apply() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 1207, in apply return self.apply_standard() File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\apply.py", line 1287, in apply_standard mapped = obj._map_values( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\base.py", line 921, in _map_values return algorithms.map_array(arr, mapper, na_action=na_action, convert=convert) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\pandas\core\algorithms.py", line 1814, in map_array return lib.map_infer(values, mapper, convert=convert) File "lib.pyx", line 2920, in pandas._libs.lib.map_infer File "E:\3_Mypycahrm_WP\MyResearch\research-chat\researchgpt\main.py", line 114, in embeddings = df.text.apply([lambda x: get_embedding(x, engine=embedding_model)]) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\tenacity__init__.py", line 289, in wrapped_f return self(f, args, kw) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\tenacity__init.py", line 379, in call do = self.iter(retry_state=retry_state) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\tenacity__init.py", line 326, in iter raise retry_exc from fut.exception() tenacity.RetryError: RetryError[<Future at 0x1ed233a5870 state=finished raised Timeout>] INFO: 127.0.0.1:64529 - "POST /reply HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application Traceback (most recent call last): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 408, in run_asgi result = await app( # type: ignore[func-returns-value] File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in call return await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\applications.py", line 1106, in call await super().call(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\applications.py", line 122, in call__ await self.middleware_stack(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\errors.py", line 184, in call raise exc File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\errors.py", line 162, in call await self.app(scope, receive, _send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\cors.py", line 91, in call await self.simple_response(scope, receive, send, request_headers=headers) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\cors.py", line 146, in simple_response await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\exceptions.py", line 79, in call raise exc File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\middleware\exceptions.py", line 68, in call await self.app(scope, receive, sender) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 20, in call raise e File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 17, in call await self.app(scope, receive, send) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\starlette\routing.py", line 718, in call__ File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\redis\client.py", line 537, in lambda: self._send_command_parse_response( File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\redis\client.py", line 512, in _send_command_parse_response conn.send_command(args) File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\redis\connection.py", line 465, in send_command self._command_packer.pack(args), File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\redis\connection.py", line 96, in pack for arg in map(self.encode, args): File "D:\3_Programming_Tools\Anaconda\anaconda3\lib\site-packages\redis_parsers\encoders.py", line 29, in encode raise DataError( redis.exceptions.DataError: Invalid input of type: 'NoneType'. Convert to a bytes, string, int or float first.请问这个报错怎么解决呀

MrPeterJin commented 10 months ago

Connection to api.openai.com timed out

"Connection to api.openai.com timed out". Seems to be your network problem.

mukulpatnaik commented 9 months ago

Really cool seeing your progress over time. Unfortunately, I'm not actively maintaining this repo anymore. A much more advanced and efficient version this is available at https://chat.portal.so/ and will be open-sourced soon as well. That one has saves chats and does much more.

Feel free to continue the fork though! All the best!