researchgpt
researchgpt copied to clipboard
Implemented GPT-3.5, add Chinese language support, and enhance retrieval results
This is a fork of the original ResearchGPT. The current version modifies several settings from the original:
- Use
GPT-3.5-turbo
instead ofGPT-3
. - Add Chinese language support and add a dynamic embedding policy.
- Improved results for journal papers (See compare results in the readme file).
- Modification of the front end.
I like this.
invalid response from api,这个报错怎么解决呀,感觉是网络的问题
invalid response from api,这个报错怎么解决呀,感觉是网络的问题
您填入了 OpenAI API key 了吗?如果您在中国大陆,网络是否在代理环境下?这边测试没有问题
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_api_resource.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
Connection to api.openai.com timed out
"Connection to api.openai.com timed out". Seems to be your network problem.
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!