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

[Projeto] Estou com problemas na hora da busca do chat gpt no projeto

package br.com.alura.desafioJPA.Service;

import com.theokanning.openai.completion.CompletionRequest; import com.theokanning.openai.service.OpenAiService;

public class ConsultaChatGPT { public static String obterInformacao(String texto) { OpenAiService service = new OpenAiService(System.getenv("OPENAI_APIKEY"));

    CompletionRequest requisicao = CompletionRequest.builder()
            .model(""gpt-3.5-turbo-instruct"")
            .prompt("me fale sobre o artista:" + texto)
            .maxTokens(1000)
            .temperature(0.7)
            .build();


    var resposta = service.createCompletion(requisicao);
    return resposta.getChoices().get(0).getText();
}

} java.lang.NullPointerException: OpenAI token required at java.base/java.util.Objects.requireNonNull(Objects.java:233) ~[na:na] at com.theokanning.openai.service.AuthenticationInterceptor.(AuthenticationInterceptor.java:18) ~[service-0.14.0.jar:na] at com.theokanning.openai.service.OpenAiService.defaultClient(OpenAiService.java:396) ~[service-0.14.0.jar:na] at com.theokanning.openai.service.OpenAiService.(OpenAiService.java:78) ~[service-0.14.0.jar:na] at com.theokanning.openai.service.OpenAiService.(OpenAiService.java:67) ~[service-0.14.0.jar:na] at br.com.alura.desafioJPA.Service.ConsultaChatGPT.obterInformacao(ConsultaChatGPT.java:8) ~[classes/:na] at br.com.alura.desafioJPA.Principal.Principal.pesquisarSobreUmArtista(Principal.java:146) ~[classes/:na] at br.com.alura.desafioJPA.Principal.Principal.exibeMenu(Principal.java:64) ~[classes/:na] at br.com.alura.desafioJPA.DesafioJpaApplication.run(DesafioJpaApplication.java:24) ~[classes/:na] at org.springframework.boot.SpringApplication.lambda$callRunner$5(SpringApplication.java:790) ~[spring-boot-3.2.3.jar:3.2.3] at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:83) ~[spring-core-6.1.4.jar:6.1.4] at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60) ~[spring-core-6.1.4.jar:6.1.4] at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:88) ~[spring-core-6.1.4.jar:6.1.4] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:798) ~[spring-boot-3.2.3.jar:3.2.3] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789) ~[spring-boot-3.2.3.jar:3.2.3] at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:774) ~[spring-boot-3.2.3.jar:3.2.3] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na] at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:774) ~[spring-boot-3.2.3.jar:3.2.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:341) ~[spring-boot-3.2.3.jar:3.2.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.3.jar:3.2.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.3.jar:3.2.3] at br.com.alura.desafioJPA.DesafioJpaApplication.main(DesafioJpaApplication.java:18) ~[classes/:na]``

4 respostas

```package br.com.alura.desafioJPA.Service;

import com.theokanning.openai.completion.CompletionRequest;
import com.theokanning.openai.service.OpenAiService;

public class ConsultaChatGPT {
    public static String obterInformacao(String texto) {
        OpenAiService service = new OpenAiService(System.getenv("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"));


        CompletionRequest requisicao = CompletionRequest.builder()
                .model("davinci-002")
                .prompt("me fale sobre o artista:" + texto)
                .maxTokens(1000)
                .temperature(0.7)
                .build();


        var resposta = service.createCompletion(requisicao);
        return resposta.getChoices().get(0).getText();
    }
}
solução!

Boa noite Wesley.

Pela mensagem que está recebendo de erro não está conseguindo pegar a chave na sua classe.

Para usar o System.getenv, você tem que setar a sua chave como variável de ambiente. Você pode ver como fazer isso aqui nesse post https://www.alura.com.br/artigos/configurar-variaveis-ambiente-windows-linux-macos?_gl=1*1g0ae4y*_ga*MTUyMjE4NDA2Ny4xNjk4Mjc0MzIx*_ga_1EPWSW3PCS*MTcxMTQyMjczMy4yNTYuMS4xNzExNDIyOTg2LjAuMC4w*_fplc*dFV1MnZJcDFYb1N6N1dnZlBBdVJMaGlIUm45WFlTc3lLQnZiJTJCQTZrQjZubWNOc05CN3NQOU9wTlF1N2g1N3NEWG1DMUZFUjVOMXdCbTY2MlglMkJTJTJGMmoxYnBGTiUyQmZFME9kVWlJTjJEdVBtZ1YybWs0NlRSemQ2SlFNSzZROHclM0QlM0Q.

Agora se for usar a chave hard coded como no código que postou, não precisa do System.getenv, a linha ficaria apenas: OpenAiService service = new OpenAiService("sua chave aqui")

Sugiro que apague essa chave que postou aqui e gere outra pois colocando ela aqui está comprometida.

Na parte 2 do curso, a atividade 11 e 12 são justamente sobre dados sensíveis e como configurar as variáveis de ambiente.

Abraço!

Não se esqueça de apagar essa chave e gerar outra o mais rápido possivel.

boa tarde eduardo tudo bem?, continuo com o erro ali em cima vacilei e deixei a chave aberta, pois ja tinha tentando com ela guardada na variavel de ambiente enfim ja apaguei essa chave e criei outra porem ainda estou tendo erro`` Exception in thread "main" java.lang.IllegalStateException: java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()' at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:825) at org.springframework.boot.SpringApplication.run(SpringApplication.java:344) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) segue o codigo a baixo

       OpenAiService service = new OpenAiService(System.getenv("OPENAI_APIKEY"));


    CompletionRequest requisicao = CompletionRequest.builder()
            .model("gpt-3.5-turbo-instruct")
            .prompt("me fale sobre o artista:" + texto)
            .maxTokens(1000)
            .temperature(0.7)
            .build();


    var resposta = service.createCompletion(requisicao);
    return resposta.getChoices().get(0).getText();
       

consegui resolver era problema de versao do jackson bind obrigado Eduardo