我正在尝试使用
spacy-llm
包来试验各种 NLP 任务,并且很想看看通过 OpenAI API 可以获得什么结果。
但是,当我尝试运行
spacy-llm
提供的玩具示例(https://spacy.io/usage/large-language-models#-api 中的示例 1)时,我收到 ConnectionError
错误代码 429:
>>> import spacy_llm
>>> from spacy_llm.util import assemble
>>> nlp = assemble("config.cfg")
>>> doc = nlp("You look gorgeous!")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy/language.py", line 1047, in __call__
error_handler(name, proc, [doc], e)
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy/util.py", line 1724, in raise_error
raise e
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy/language.py", line 1042, in __call__
doc = proc(doc, **component_cfg.get(name, {})) # type: ignore[call-arg]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy_llm/pipeline/llm.py", line 145, in __call__
docs = self._process_docs([doc])
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy_llm/pipeline/llm.py", line 199, in _process_docs
responses_iters = tee(self._model(prompts_iters[0]), n_iters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy_llm/models/rest/openai/model.py", line 115, in __call__
responses = _request(
^^^^^^^^^
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy_llm/models/rest/openai/model.py", line 86, in _request
r = self.retry(
^^^^^^^^^^^
File "/home/admin/platform-api/venv/lib/python3.11/site-packages/spacy_llm/models/rest/base.py", line 147, in retry
raise ConnectionError(
ConnectionError: API could not be reached after 34.710 seconds in total and attempting to connect 5 times. Check your network connection and the API's availability.
429 Too Many Requests
似乎认为存在“太多请求” - 也许请求在后台重复?有没有办法禁用它?
任何帮助将非常感激!
作为参考,我还尝试了 OpenAI 网站上提供的示例,以确保我的密钥正常工作,如下所示。这完全符合预期。
import os
import openai
openai.organization = "org-xxx"
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Model.list()
这个问题的解决方案是仔细阅读一下 - 虽然我的使用量为 0 美元,但剩余的 18 美元免费积分无法使用,而且实际上已经过期了......