1
resposta

ChatGpt Pesquisar Sobre música Salva pelo Usuario - Ou pesquisar sobre música dita pelo usuario

 private void pesquisarDadosSobreArtista() {
        System.out.println("Digite o nome do artista: ");
        String nomeArtista = entrada.nextLine();
        ConsumoChatGpt.informacaoArtista(nomeArtista);
        System.out.println("Deseja Pesquisar sobre Alguma musica dele? \nSe não tiver pode deixar com a gente");
        var respostaPerguntaPlaylist = entrada.nextLine();
        if (respostaPerguntaPlaylist.equalsIgnoreCase("playlist")){
            dadosArtista = repository.findByNomeLike(nomeArtista);
            if (dadosArtista.isPresent()){
                DadosArtista artistas = dadosArtista.get();
                List<String> nomeDasMusicas = artistas.getMusicas().stream()
                        .map(musica -> musica.getTitulo())
                        .limit(3)
                        .collect(Collectors.toList());
                for(String musicaDaLista : nomeDasMusicas){
                    ConsumoChatGpt.informacaoMusicaArtista(musicaDaLista);
                }
            } else {
                System.out.println("Artista Não Encontrado");
            }
        } else {
            ConsumoChatGpt.informacaoUmaMusicaArtista(respostaPerguntaPlaylist);
        }
    }
   public static String informacaoMusicaArtista(String texto) {
        OpenAiService service = new OpenAiService("suaApiKey");
        CompletionRequest requisicao = CompletionRequest.builder()
                .model("gpt-3.5-turbo-instruct")
                .prompt("Busque informações sobre essa musica " + texto)
                .maxTokens(500)
                .temperature(0.7)
                .build();

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

    public static String informacaoUmaMusicaArtista(String texto) {
        OpenAiService service = new OpenAiService("suaApiKey");
        CompletionRequest requisicao = CompletionRequest.builder()
                .model("gpt-3.5-turbo-instruct")
                .prompt("Busque informações sobre essa musica " + texto)
                .maxTokens(500)
                .temperature(0.7)
                .build();

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

Eu teria outra ideia, por exemplo antes da linha " .map(musica -> musica.getTitulo()) " filtrar todos os objetos da lista pelo numero de vizualizações, por exemplo musicas superiores a 2 milhoes de views para ficar mais interativo.

1 resposta

Olá, Pedro! Tudo bem?

Que legal que você está explorando formas de tornar sua aplicação mais interativa! A ideia de filtrar as músicas pelo número de visualizações é excelente para destacar as músicas mais populares de um artista. Vou te ajudar com um exemplo de como você pode implementar isso.

Para filtrar as músicas com mais de 2 milhões de visualizações, você pode adicionar um filtro antes de mapear os títulos das músicas. Vou mostrar como você pode fazer isso:

if (dadosArtista.isPresent()) {
    DadosArtista artistas = dadosArtista.get();
    List<String> nomeDasMusicas = artistas.getMusicas().stream()
            .filter(musica -> musica.getVisualizacoes() > 2000000) // Filtra músicas com mais de 2 milhões de visualizações
            .map(musica -> musica.getTitulo())
            .limit(3)
            .collect(Collectors.toList());
    for (String musicaDaLista : nomeDasMusicas) {
        ConsumoChatGpt.informacaoMusicaArtista(musicaDaLista);
    }
} else {
    System.out.println("Artista Não Encontrado");
}

No exemplo acima, musica.getVisualizacoes() é um método hipotético que você precisaria ter em sua classe Musica para retornar o número de visualizações. Certifique-se de que sua classe Musica tenha um campo e um método para acessar esse dado.

Espero que essa dica ajude a tornar sua aplicação ainda mais interessante para os usuários!

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.