TheR1D / shell_gpt

A command-line productivity tool powered by AI large language models like GPT-4, will help you accomplish your tasks faster and more efficiently.
MIT License
9.65k stars 764 forks source link

HTTPError: 429 Client Error: Too Many Requests for url: https://api.openai.com/v1/chat/completions #270

Closed trbedwards closed 1 year ago

trbedwards commented 1 year ago

I get this error whenever I use sgpt.

sgpt "mass of sun"
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/sgpt/app.py:179 in main                   │
│                                                                                                  │
│   176 │   │   │   caching=cache,                                                                 │
│   177 │   │   )                                                                                  │
│   178 │   else:                                                                                  │
│ ❱ 179 │   │   full_completion = DefaultHandler(role_class).handle(                               │
│   180 │   │   │   prompt,                                                                        │
│   181 │   │   │   model=model.value,                                                             │
│   182 │   │   │   temperature=temperature,                                                       │
│                                                                                                  │
│ ╭─────────────────────────────── locals ────────────────────────────────╮                        │
│ │               cache = True                                            │                        │
│ │                chat = None                                            │                        │
│ │                code = False                                           │                        │
│ │         create_role = None                                            │                        │
│ │      describe_shell = False                                           │                        │
│ │              editor = False                                           │                        │
│ │ install_integration = None                                            │                        │
│ │          list_chats = None                                            │                        │
│ │          list_roles = None                                            │                        │
│ │               model = <ModelOptions.GPT3: 'gpt-3.5-turbo'>            │                        │
│ │              prompt = 'mass of sun'                                   │                        │
│ │                repl = None                                            │                        │
│ │                role = None                                            │                        │
│ │          role_class = <sgpt.role.SystemRole object at 0x7f599f2fb5e0> │                        │
│ │               shell = False                                           │                        │
│ │           show_chat = None                                            │                        │
│ │           show_role = None                                            │                        │
│ │        stdin_passed = False                                           │                        │
│ │         temperature = 0.1                                             │                        │
│ │     top_probability = 1.0                                             │                        │
│ ╰───────────────────────────────────────────────────────────────────────╯                        │
│                                                                                                  │
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/sgpt/handlers/handler.py:30 in handle     │
│                                                                                                  │
│   27 │   def handle(self, prompt: str, **kwargs: Any) -> str:                                    │
│   28 │   │   messages = self.make_messages(self.make_prompt(prompt))                             │
│   29 │   │   full_completion = ""                                                                │
│ ❱ 30 │   │   for word in self.get_completion(messages=messages, **kwargs):                       │
│   31 │   │   │   typer.secho(word, fg=self.color, bold=True, nl=False)                           │
│   32 │   │   │   full_completion += word                                                         │
│   33 │   │   typer.echo()                                                                        │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ full_completion = ''                                                                         │ │
│ │          kwargs = {                                                                          │ │
│ │                   │   'model': 'gpt-3.5-turbo',                                              │ │
│ │                   │   'temperature': 0.1,                                                    │ │
│ │                   │   'top_probability': 1.0,                                                │ │
│ │                   │   'caching': True                                                        │ │
│ │                   }                                                                          │ │
│ │        messages = [                                                                          │ │
│ │                   │   {                                                                      │ │
│ │                   │   │   'role': 'user',                                                    │ │
│ │                   │   │   'content': '###\nRole name: default\nYou are Command Line App      │ │
│ │                   ShellGPT, a programming and syst'+329                                      │ │
│ │                   │   }                                                                      │ │
│ │                   ]                                                                          │ │
│ │          prompt = 'mass of sun'                                                              │ │
│ │            self = <sgpt.handlers.default_handler.DefaultHandler object at 0x7f599f2fa6b0>    │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/sgpt/handlers/handler.py:25 in            │
│ get_completion                                                                                   │
│                                                                                                  │
│   22 │   │   raise NotImplementedError                                                           │
│   23 │                                                                                           │
│   24 │   def get_completion(self, **kwargs: Any) -> Generator[str, None, None]:                  │
│ ❱ 25 │   │   yield from self.client.get_completion(**kwargs)                                     │
│   26 │                                                                                           │
│   27 │   def handle(self, prompt: str, **kwargs: Any) -> str:                                    │
│   28 │   │   messages = self.make_messages(self.make_prompt(prompt))                             │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ kwargs = {                                                                                   │ │
│ │          │   'messages': [                                                                   │ │
│ │          │   │   {                                                                           │ │
│ │          │   │   │   'role': 'user',                                                         │ │
│ │          │   │   │   'content': '###\nRole name: default\nYou are Command Line App ShellGPT, │ │
│ │          a programming and syst'+329                                                         │ │
│ │          │   │   }                                                                           │ │
│ │          │   ],                                                                              │ │
│ │          │   'model': 'gpt-3.5-turbo',                                                       │ │
│ │          │   'temperature': 0.1,                                                             │ │
│ │          │   'top_probability': 1.0,                                                         │ │
│ │          │   'caching': True                                                                 │ │
│ │          }                                                                                   │ │
│ │   self = <sgpt.handlers.default_handler.DefaultHandler object at 0x7f599f2fa6b0>             │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/sgpt/client.py:92 in get_completion       │
│                                                                                                  │
│   89 │   │   :param caching: Boolean value to enable/disable caching.                            │
│   90 │   │   :return: String generated completion.                                               │
│   91 │   │   """                                                                                 │
│ ❱ 92 │   │   yield from self._request(                                                           │
│   93 │   │   │   messages,                                                                       │
│   94 │   │   │   model,                                                                          │
│   95 │   │   │   temperature,                                                                    │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │         caching = True                                                                       │ │
│ │        messages = [                                                                          │ │
│ │                   │   {                                                                      │ │
│ │                   │   │   'role': 'user',                                                    │ │
│ │                   │   │   'content': '###\nRole name: default\nYou are Command Line App      │ │
│ │                   ShellGPT, a programming and syst'+329                                      │ │
│ │                   │   }                                                                      │ │
│ │                   ]                                                                          │ │
│ │           model = 'gpt-3.5-turbo'                                                            │ │
│ │            self = <sgpt.client.OpenAIClient object at 0x7f599f2fa230>                        │ │
│ │     temperature = 0.1                                                                        │ │
│ │ top_probability = 1.0                                                                        │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/sgpt/cache.py:39 in wrapper               │
│                                                                                                  │
│   36 │   │   │   │   yield cache_file.read_text()                                                │
│   37 │   │   │   │   return                                                                      │
│   38 │   │   │   result = ""                                                                     │
│ ❱ 39 │   │   │   for i in func(*args, **kwargs):                                                 │
│   40 │   │   │   │   result += i                                                                 │
│   41 │   │   │   │   yield i                                                                     │
│   42 │   │   │   cache_file.write_text(result)                                                   │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │       args = (                                                                               │ │
│ │              │   <sgpt.client.OpenAIClient object at 0x7f599f2fa230>,                        │ │
│ │              │   [                                                                           │ │
│ │              │   │   {                                                                       │ │
│ │              │   │   │   'role': 'user',                                                     │ │
│ │              │   │   │   'content': '###\nRole name: default\nYou are Command Line App       │ │
│ │              ShellGPT, a programming and syst'+329                                           │ │
│ │              │   │   }                                                                       │ │
│ │              │   ],                                                                          │ │
│ │              │   'gpt-3.5-turbo',                                                            │ │
│ │              │   0.1,                                                                        │ │
│ │              │   1.0                                                                         │ │
│ │              )                                                                               │ │
│ │ cache_file = PosixPath('/tmp/cache/4124692e91f38d4e9f9faf0a3d4198bf')                        │ │
│ │  cache_key = '4124692e91f38d4e9f9faf0a3d4198bf'                                              │ │
│ │       func = <function OpenAIClient._request at 0x7f599f30b520>                              │ │
│ │     kwargs = {}                                                                              │ │
│ │     result = ''                                                                              │ │
│ │       self = <sgpt.cache.Cache object at 0x7f59a00826b0>                                     │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/sgpt/client.py:59 in _request             │
│                                                                                                  │
│   56 │   │   │   timeout=REQUEST_TIMEOUT,                                                        │
│   57 │   │   │   stream=True,                                                                    │
│   58 │   │   )                                                                                   │
│ ❱ 59 │   │   response.raise_for_status()                                                         │
│   60 │   │   # TODO: Optimise.                                                                   │
│   61 │   │   # https://github.com/openai/openai-python/blob/237448dc072a2c062698da3f9f512fae3    │
│   62 │   │   for line in response.iter_lines():                                                  │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │            data = {                                                                          │ │
│ │                   │   'messages': [                                                          │ │
│ │                   │   │   {                                                                  │ │
│ │                   │   │   │   'role': 'user',                                                │ │
│ │                   │   │   │   'content': '###\nRole name: default\nYou are Command Line App  │ │
│ │                   ShellGPT, a programming and syst'+329                                      │ │
│ │                   │   │   }                                                                  │ │
│ │                   │   ],                                                                     │ │
│ │                   │   'model': 'gpt-3.5-turbo',                                              │ │
│ │                   │   'temperature': 0.1,                                                    │ │
│ │                   │   'top_p': 1.0,                                                          │ │
│ │                   │   'stream': True                                                         │ │
│ │                   }                                                                          │ │
│ │        endpoint = 'https://api.openai.com/v1/chat/completions'                               │ │
│ │        messages = [                                                                          │ │
│ │                   │   {                                                                      │ │
│ │                   │   │   'role': 'user',                                                    │ │
│ │                   │   │   'content': '###\nRole name: default\nYou are Command Line App      │ │
│ │                   ShellGPT, a programming and syst'+329                                      │ │
│ │                   │   }                                                                      │ │
│ │                   ]                                                                          │ │
│ │           model = 'gpt-3.5-turbo'                                                            │ │
│ │        response = <Response [429]>                                                           │ │
│ │            self = <sgpt.client.OpenAIClient object at 0x7f599f2fa230>                        │ │
│ │     temperature = 0.1                                                                        │ │
│ │ top_probability = 1.0                                                                        │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/tedwards/mambaforge/lib/python3.10/site-packages/requests/models.py:1021 in                │
│ raise_for_status                                                                                 │
│                                                                                                  │
│   1018 │   │   │   )                                                                             │
│   1019 │   │                                                                                     │
│   1020 │   │   if http_error_msg:                                                                │
│ ❱ 1021 │   │   │   raise HTTPError(http_error_msg, response=self)                                │
│   1022 │                                                                                         │
│   1023 │   def close(self):                                                                      │
│   1024 │   │   """Releases the connection back to the pool. Once this method has been            │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ http_error_msg = '429 Client Error: Too Many Requests for url:                               │ │
│ │                  https://api.openai.com/v1/chat/comp'+7                                      │ │
│ │         reason = 'Too Many Requests'                                                         │ │
│ │           self = <Response [429]>                                                            │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
HTTPError: 429 Client Error: Too Many Requests for url: https://api.openai.com/v1/chat/completions
trbedwards commented 1 year ago

Nevermind, solved the issue, turned out that my OpenAI API free trial was expired. I've rectified this now and it works