a ia esta a dar eero

This commit is contained in:
2026-04-21 17:09:05 +01:00
parent 97cb615f69
commit d3e2af3a66
45 changed files with 716 additions and 801 deletions

View File

@@ -1,23 +1,16 @@
package com.example.cuida.services;
// Imports básicos do SDK do Google AI
import com.google.ai.client.generativeai.GenerativeModel;
import com.google.ai.client.generativeai.java.GenerativeModelFutures;
// Imports de tipos e configurações
import com.google.ai.client.generativeai.type.BlockThreshold;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.type.GenerateContentResponse;
import com.google.ai.client.generativeai.type.GenerationConfig;
import com.google.ai.client.generativeai.type.HarmCategory;
import com.google.ai.client.generativeai.type.SafetySetting;
// Imports do Guava para processamento assíncrono
import com.google.ai.client.generativeai.type.BlockThreshold;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
// Imports standard de Java
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Executor;
@@ -27,7 +20,7 @@ public class Gemini {
private final GenerativeModelFutures modelo;
public Gemini() {
// 1. Configurar Segurança
// 1. Configurar Segurança (Padrão para evitar bloqueio de termos médicos)
List<SafetySetting> safetySettings = Arrays.asList(
new SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.NONE),
new SafetySetting(HarmCategory.HATE_SPEECH, BlockThreshold.NONE),
@@ -35,16 +28,11 @@ public class Gemini {
new SafetySetting(HarmCategory.DANGEROUS_CONTENT, BlockThreshold.NONE)
);
// 2. Configuração de Geração
GenerationConfig config = new GenerationConfig.Builder()
.setTemperature(0.7f)
.build();
// 3. Inicialização do Modelo (Gemini 1.5 Flash)
// 2. Modelo (Simplificado ao máximo para garantir compilação)
GenerativeModel generativeModel = new GenerativeModel(
"gemini-1.5-flash",
"AIzaSyBmLgn-SHaTDvAeDWsw2iTZRR9gahhOu7k",
config,
null, // Usamos o GenerationConfig padrão para evitar erro de setTemperature
safetySettings
);
@@ -70,7 +58,7 @@ public class Gemini {
if (resultado != null && resultado.getText() != null) {
callback.onSuccess(resultado.getText());
} else {
callback.onError(new Exception("IA não devolveu texto."));
callback.onError(new Exception("Resposta vazia da IA"));
}
}