Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Projeto] Problema na requisição da API do OpenAi

2024-03-25T15:34:52.547-03:00  INFO 9336 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger : 
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-03-25T15:34:52.568-03:00 ERROR 9336 --- [           main] o.s.boot.SpringApplication               : Application run failed
java.lang.IllegalStateException: Failed to execute CommandLineRunner
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:774) ~[spring-boot-3.1.1.jar:3.1.1]
    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:755) ~[spring-boot-3.1.1.jar:3.1.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:319) ~[spring-boot-3.1.1.jar:3.1.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-3.1.1.jar:3.1.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-3.1.1.jar:3.1.1]
    at br.com.alura.screenmatch.ScreenmatchApplication.main(ScreenmatchApplication.java:12) ~[classes/:na]
Caused by: com.theokanning.openai.OpenAiHttpException: You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.
    at com.theokanning.openai.service.OpenAiService.execute(OpenAiService.java:326) ~[service-0.14.0.jar:na]
    at com.theokanning.openai.service.OpenAiService.createCompletion(OpenAiService.java:121) ~[service-0.14.0.jar:na]
    at br.com.alura.screenmatch.service.ConsultaChatGPT.obterTraducao(ConsultaChatGPT.java:19) ~[classes/:na]
    at br.com.alura.screenmatch.model.Serie.<init>(Serie.java:23) ~[classes/:na]
    at br.com.alura.screenmatch.principal.Principal.lambda$listarSeriesBuscadas$0(Principal.java:87) ~[classes/:na]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
    at br.com.alura.screenmatch.principal.Principal.listarSeriesBuscadas(Principal.java:88) ~[classes/:na]
    at br.com.alura.screenmatch.principal.Principal.exibeMenu(Principal.java:47) ~[classes/:na]
    at br.com.alura.screenmatch.ScreenmatchApplication.run(ScreenmatchApplication.java:18) ~[classes/:na]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) ~[spring-boot-3.1.1.jar:3.1.1]
    ... 5 common frames omitted
Caused by: retrofit2.adapter.rxjava2.HttpException: HTTP 429 Too Many Requests
    at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:57) ~[adapter-rxjava2-2.9.0.jar:na]
    at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:38) ~[adapter-rxjava2-2.9.0.jar:na]
    at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48) ~[adapter-rxjava2-2.9.0.jar:na]
    at io.reactivex.Observable.subscribe(Observable.java:10151) ~[rxjava-2.0.0.jar:2.0.0]
    at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35) ~[adapter-rxjava2-2.9.0.jar:na]
    at io.reactivex.Observable.subscribe(Observable.java:10151) ~[rxjava-2.0.0.jar:2.0.0]
    at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35) ~[rxjava-2.0.0.jar:2.0.0]
    at io.reactivex.Single.subscribe(Single.java:2517) ~[rxjava-2.0.0.jar:2.0.0]
    at io.reactivex.Single.blockingGet(Single.java:2001) ~[rxjava-2.0.0.jar:2.0.0]
    at com.theokanning.openai.service.OpenAiService.execute(OpenAiService.java:317) ~[service-0.14.0.jar:na]
    ... 20 common frames omitted

Atualmente estou fazendo o curso Java: persistência de dados e consultas com Spring Data JPA, e agora estou tendo esse problema na hora de exibir lista, mesmo já tendo arrumado o model Alguem poderia me dizer se realmente como resolver o erro HTTP 429 Too Many Requests, que estou excedendo o limite de solicitações permitido pela API da OpenAi?!

4 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEsse é o problema, acabei atingindo o limite de requisições

solução!

Olá, Wesley! Tudo bem?

Como você bem destacou no seu último post, o erro HTTP 429 - Too Many Requests é retornado quando um cliente excede um limite de taxa de requisições imposta por um servidor ou, no seu caso, pela API da OpenAI.

A solução para este problema depende muito de como a API que você está usando implementa o controle de taxa. Algumas APIs permitem que você aumente o limite entrando em contato com o provedor ou adquirindo um plano de maior capacidade.

No seu caso, a mensagem de erro sugere verificar seu plano e detalhes de cobrança. Isso sugere que você pode ter excedido o número de requisições permitidas pelo seu plano atual com a OpenAI. Você pode precisar entrar em contato com a OpenAI para aumentar seu limite de taxa ou alterar para um plano que permita mais requisições.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software