Olá, bom dia Professor e parabéns pelo seu dia na data de ontem, com relação a essa estrutura eu fiz dessa maneira!
//package e imports ....
public class AnaliseDeSentimentos {
public static void main(String[] args) {
try {
//prompt ...
final var diretorioAvaliacoes = Path.of("src/main/resources/avaliacoes");
final var arquivosDeAvaliacoes = Files.walk(diretorioAvaliacoes, 1)
.filter(Files::isRegularFile)
.map(Path::getFileName)
.map(Path::toString)
.map(nome -> nome.replace("avaliacoes-", "").replace(".txt", ""))
.toArray(String[]::new);
for (String arquivo : arquivosDeAvaliacoes) {
System.out.println("Analisando o arquivo: " + arquivo);
var promptUsuario = carregarArquivo(arquivo);
var request = ChatCompletionRequest
.builder()
.model("gpt-4-1106-preview")
.messages(Arrays.asList(
new ChatMessage(
ChatMessageRole.SYSTEM.value(),
promptSistema),
new ChatMessage(
ChatMessageRole.USER.value(),
promptUsuario)))
.build();
var chave = System.getenv("token-api");
var service = new OpenAiService(chave, Duration.ofSeconds(60));
var resposta = service
.createChatCompletion(request)
.getChoices().get(0).getMessage().getContent();
salvarAnalise(arquivo, resposta);
System.out.println("Analise salva com sucesso!");
}
} catch (Exception e) {
throw new RuntimeException("Erro ao analisar os sentimentos!", e);
}
}
private static String carregarArquivo(final String arquivo) {
try {
var path = Path.of("src/main/resources/avaliacoes/avaliacoes-" +arquivo +".txt");
return Files.readAllLines(path).toString();
} catch (Exception e) {
throw new RuntimeException("Erro ao carregar o arquivo!", e);
}
}
private static void salvarAnalise(final String arquivo, final String analise) {
try {
var path = Path.of("src/main/resources/analises/analise-sentimentos-" +arquivo +".txt");
Files.writeString(path, analise, StandardOpenOption.CREATE_NEW);
} catch (Exception e) {
throw new RuntimeException("Erro ao salvar o arquivo!", e);
}
}
}
Gostaria de ouvir do senhor se minha abordagem traz benefício ou se devo manter a estrutura direcionada pelo professor, e o que muda em minha abordagem com relação a do senhor.