[youtube] Extracting URL: https://www.youtube.com/watch?v=7Ron6MN45LY
[youtube] 7Ron6MN45LY: Downloading webpage
[youtube] 7Ron6MN45LY: Downloading ios player API JSON
[youtube] 7Ron6MN45LY: Downloading android player API JSON
[youtube] 7Ron6MN45LY: Downloading m3u8 information
[info] 7Ron6MN45LY: Downloading 1 format(s): 140
[download] docs/youtube//Learn How to Solve a Rubik's Cube in 10 Minutes (Beginner Tutorial).m4a has already been downloaded
[download] 100% of 9.30MiB
[ExtractAudio] Not converting audio docs/youtube//Learn How to Solve a Rubik's Cube in 10 Minutes (Beginner Tutorial).m4a; file is already in target format m4a
Transcribing part 1!
---------------------------------------------------------------------------
RateLimitError Traceback (most recent call last)
Cell In[28], line 7
2 save_dir="docs/youtube/"
3 loader = GenericLoader(
4 YoutubeAudioLoader([url],save_dir),
5 OpenAIWhisperParser()
6 )
----> 7 docs = loader.load()
File /usr/local/lib/python3.9/site-packages/langchain/document_loaders/generic.py:90, in GenericLoader.load(self)
88 def load(self) -> List[Document]:
89 """Load all documents."""
---> 90 return list(self.lazy_load())
File /usr/local/lib/python3.9/site-packages/langchain/document_loaders/generic.py:86, in GenericLoader.lazy_load(self)
84 """Load documents lazily. Use this when working at a large scale."""
85 for blob in self.blob_loader.yield_blobs():
---> 86 yield from self.blob_parser.lazy_parse(blob)
File /usr/local/lib/python3.9/site-packages/langchain/document_loaders/parsers/audio.py:51, in OpenAIWhisperParser.lazy_parse(self, blob)
49 # Transcribe
50 print(f"Transcribing part {split_number+1}!")
---> 51 transcript = openai.Audio.transcribe("whisper-1", file_obj)
53 yield Document(
54 page_content=transcript.text,
55 metadata={"source": blob.source, "chunk": split_number},
56 )
File /usr/local/lib/python3.9/site-packages/openai/api_resources/audio.py:57, in Audio.transcribe(cls, model, file, api_key, api_base, api_type, api_version, organization, **params)
55 requestor, files, data = cls._prepare_request(file, file.name, model, **params)
56 url = cls._get_url("transcriptions")
---> 57 response, _, api_key = requestor.request("post", url, files=files, params=data)
58 return util.convert_to_openai_object(
59 response, api_key, api_version, organization
60 )
File /usr/local/lib/python3.9/site-packages/openai/api_requestor.py:226, in APIRequestor.request(self, method, url, params, headers, files, stream, request_id, request_timeout)
205 def request(
206 self,
207 method,
(...)
214 request_timeout: Optional[Union[float, Tuple[float, float]]] = None,
215 ) -> Tuple[Union[OpenAIResponse, Iterator[OpenAIResponse]], bool, str]:
216 result = self.request_raw(
217 method.lower(),
218 url,
(...)
224 request_timeout=request_timeout,
225 )
--> 226 resp, got_stream = self._interpret_response(result, stream)
227 return resp, got_stream, self.api_key
File /usr/local/lib/python3.9/site-packages/openai/api_requestor.py:619, in APIRequestor._interpret_response(self, result, stream)
611 return (
612 self._interpret_response_line(
613 line, result.status_code, result.headers, stream=True
614 )
615 for line in parse_stream(result.iter_lines())
616 ), True
617 else:
618 return (
--> 619 self._interpret_response_line(
620 result.content.decode("utf-8"),
621 result.status_code,
622 result.headers,
623 stream=False,
624 ),
625 False,
626 )
File /usr/local/lib/python3.9/site-packages/openai/api_requestor.py:679, in APIRequestor._interpret_response_line(self, rbody, rcode, rheaders, stream)
677 stream_error = stream and "error" in resp.data
678 if stream_error or not 200 <= rcode < 300:
--> 679 raise self.handle_error_response(
680 rbody, rcode, resp.data, rheaders, stream_error=stream_error
681 )
682 return resp
RateLimitError: exceeded quota for this month
Hello @vsrinivas ,
This means that you have exhausted your account’s free quota to use it.
With regards,
Nilosree Sengupta
Hello @ nilosreesengupta, I understand that. Just to clarify, it is the learning platform account, not my account. The notebook was provided for students to try out. Hence, I have highlighted the error.
Hello @ nilosreesengupta, this ratelimiterror still continues, thus preventing execution of code provided in the notebook. Can the account quota for the learning platform be extended?
Hello @vsrinivas ,
Okay, I am asking the team and will let you know.
With regards,
Nilosree Sengupta
Hello @vsrinivas ,
No, extension is not possible. However, you should have a reseted rate limit next month.
With regards,
Nilosree Sengupta
Hi @nilosreesengupta , just thought of seeking a few clarifications on account free quota.
- Is the limit per user per course per month? Or is it per user per month irrespective of number of courses?
- If it is per user, is there a way I know how much free quota is left for me for that month at any point of time?
Hello @Mubsi ,
I’m tagging you here.
@vsrinivas , he will be the right person to clear your doubts better regarding the free quota.
Thanks,
With regards,
Nilosree Sengupta
Hi @vsrinivas,
Let me get back to you on that.