quero meter o gemini na app
This commit is contained in:
57
app/src/main/java/com/example/cuida/services/Gemini.java
Normal file
57
app/src/main/java/com/example/cuida/services/Gemini.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package com.example.cuida.services;
|
||||
|
||||
import com.google.ai.client.generativeai.GenerativeModel;
|
||||
import com.google.ai.client.generativeai.java.GenerativeModelFutures;
|
||||
import com.google.ai.client.generativeai.type.Content;
|
||||
import com.google.ai.client.generativeai.type.GenerateContentResponse;
|
||||
import com.google.common.util.concurrent.FutureCallback;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
public class Gemini {
|
||||
|
||||
private final GenerativeModelFutures modelo;
|
||||
|
||||
public Gemini() {
|
||||
// 1. Configurar o modelo (usa a tua API Key do Google AI Studio)
|
||||
GenerativeModel generativeModel = new GenerativeModel(
|
||||
"gemini-1.5-flash",
|
||||
"AIzaSyBmLgn-SHaTDvAeDWsw2iTZRR9gahhOu7k");
|
||||
this.modelo = GenerativeModelFutures.from(generativeModel);
|
||||
}
|
||||
|
||||
public interface GeminiCallback {
|
||||
void onSuccess(String result);
|
||||
|
||||
void onError(Throwable t);
|
||||
}
|
||||
|
||||
public void fazerPergunta(String promptUtilizador, GeminiCallback callback) {
|
||||
// 2. Preparar o conteúdo da pergunta
|
||||
Content conteudo = new Content.Builder()
|
||||
.addText(promptUtilizador)
|
||||
.build();
|
||||
|
||||
// 3. Chamar a IA de forma assíncrona
|
||||
ListenableFuture<GenerateContentResponse> respostaFuture = modelo.generateContent(conteudo);
|
||||
|
||||
Executor executor = Executors.newSingleThreadExecutor();
|
||||
|
||||
Futures.addCallback(respostaFuture, new FutureCallback<GenerateContentResponse>() {
|
||||
@Override
|
||||
public void onSuccess(GenerateContentResponse resultado) {
|
||||
// Aqui recebes o texto da IA
|
||||
String textoResposta = resultado.getText();
|
||||
callback.onSuccess(textoResposta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
callback.onError(t);
|
||||
}
|
||||
}, executor);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user