配置AutoGPT与Pinecone扩展内存时连接失败求助
AutoGPT配置Pinecone扩展内存时连接失败(ConnectionResetError 10054)
尝试为AutoGPT配置Pinecone数据库实现扩展内存功能,已完成Pinecone平台索引创建、环境变量(API密钥、索引名、环境区域)配置,且确认索引名称无误,但运行时出现连接失败错误,报错信息如下:
Connecting Pinecone. This may take some time... Traceback (most recent call last): File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 1042, in _validate_conn conn.connect() File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connection.py", line 419, in connect self.sock = ssl_wrap_socket( ^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\ssl_.py", line 449, in ssl_wrap_socket ssl_sock = _ssl_wrap_socket_impl( ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\ssl_.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\ssl.py", line 517, in wrap_socket return self.sslsocket_class._create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\ssl.py", line 1075, in _create self.do_handshake() File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\ssl.py", line 1346, in do_handshake self._sslobj.do_handshake() ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\utils\error_handling.py", line 17, in inner_func return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\index.py", line 329, in delete return self._vector_api.delete( ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\api_client.py", line 776, in __call__ return self.callable(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\api\vector_operations_api.py", line 117, in __delete return self.call_with_http_info(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\api_client.py", line 838, in call_with_http_info return self.api_client.call_api( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\api_client.py", line 413, in call_api return self.__call_api(resource_path, method, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\api_client.py", line 200, in __call_api response_data = self.request( ^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\api_client.py", line 459, in request return self.rest_client.POST(url, ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\rest.py", line 271, in POST return self.request("POST", url, ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\client\rest.py", line 157, in request r = self.pool_manager.request( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\request.py", line 78, in request return self.request_encode_body( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\request.py", line 170, in request_encode_body return self.urlopen(method, url, **extra_kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\poolmanager.py", line 376, in urlopen response = conn.urlopen(method, u.request_uri, **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen retries = retries.increment( ^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\retry.py", line 550, in increment raise six.reraise(type(error), error, _stacktrace) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\packages\six.py", line 769, in reraise raise value.with_traceback(tb) File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connectionpool.py", line 1042, in _validate_conn conn.connect() File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\connection.py", line 419, in connect self.sock = ssl_wrap_socket( ^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\ssl_.py", line 449, in ssl_wrap_socket ssl_sock = _ssl_wrap_socket_impl( ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\util\ssl_.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\ssl.py", line 517, in wrap_socket return self.sslsocket_class._create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\ssl.py", line 1075, in _create self.do_handshake() File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\ssl.py", line 1346, in do_handshake self._sslobj.do_handshake() urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\dev\autogpt\Auto-GPT\autogpt\__main__.py", line 5, in <module> autogpt.cli.main() File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1130, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1055, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1635, in invoke rv = super().invoke(ctx) ^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 760, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\decorators.py", line 26, in new_func return f(get_current_context(), *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\dev\autogpt\Auto-GPT\autogpt\cli.py", line 90, in main run_auto_gpt( memory = get_memory(cfg, init=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\dev\autogpt\Auto-GPT\autogpt\memory\__init__.py", line 49, in get_memory memory.clear() File "C:\dev\autogpt\Auto-GPT\autogpt\memory\pinecone.py", line 61, in clear self.index.delete(deleteAll=True) File "C:\Users\...\AppData\Local\Programs\Python\Python311\Lib\site-packages\pinecone\core\utils\error_handling.py", line 25, in inner_func raise PineconeProtocolError(f'Failed to connect; did you specify the correct index name?') from e pinecone.core.exceptions.PineconeProtocolError: Failed to connect; did you specify the correct index name?
解决建议
- 排查网络拦截:WinError 10054是远程主机强制关闭连接,优先检查本地防火墙、杀毒软件是否拦截了Pinecone的请求,尝试临时关闭;若使用代理或VPN,切换到直连网络测试。
- 核对Pinecone环境区域:确保环境变量
PINECONE_ENV的值与Pinecone控制台中索引所在的环境区域完全一致(例如gcp-starter、us-east-1),大小写和拼写不能出错。 - 升级Pinecone客户端:旧版本客户端可能存在兼容性问题,执行命令升级:
pip install --upgrade pinecone-client - 确认索引状态:登录Pinecone控制台,检查目标索引是否处于Active状态,避免使用创建中或已删除的索引。
- 重置API密钥:生成新的Pinecone API密钥,替换环境变量中的旧密钥,排除密钥权限或过期问题。
- 基础连接测试:编写简单脚本验证Pinecone连接是否正常,排除AutoGPT代码层面的问题:
import pinecone # 替换为你的实际配置 pinecone.init(api_key="YOUR_PINECONE_API_KEY", environment="YOUR_PINECONE_ENV") index = pinecone.Index("YOUR_INDEX_NAME") print(index.describe_index_stats())
内容的提问来源于stack exchange,提问作者scurvydog2
相关产品推荐
相关产品推荐

