En esta guía de inicio rápido, aprenderás a usar el servicio de chat en la API de PaLM mediante la biblioteca cliente de Java.
Obtén una clave de API
Para comenzar, deberás obtener una clave de API.
Instala el cliente de la API
Con estas instrucciones, se instalará el SDK de PaLM para Java en tu repositorio local de Maven para que puedas agregarlo como una dependencia a tu proyecto de Gradle.
- Descarga el archivo google-cloud-ai-generativelanguage-v1-java.tar.gz.
Extrae los archivos y, luego, instálalos en
mavenLocal
:# Extract the files tar -xzvf google-cloud-ai-generativelanguage-v1-java.tar.gz cd google-cloud-ai-generativelanguage-v1-java # Install to mavenLocal ./gradlew publishToMavenLocal
Agrega el SDK a tu proyecto
Abre tu archivo de configuración de Gradle y asegúrate de que
mavenLocal()
aparezca enrepositories
:repositories { mavenCentral() // ... // Add the Maven Local repository mavenLocal() }
Además, en el archivo de configuración de Gradle, agrega las bibliotecas necesarias al bloque
dependencies
:dependencies { // ... // Add these dependencies to use Generative AI implementation("com.google.cloud:gapic-google-cloud-ai-generativelanguage-v1-java:0.0.0-SNAPSHOT") implementation("io.grpc:grpc-okhttp:1.53.0") }
Inicializa el cliente de servicios de Discuss
Para inicializar un DiscussServiceClient
, pasa tu clave de API (proporcionada a través de la variable de entorno API_KEY
) como un encabezado a TransportChannelProvider
que usará DiscussServiceSettings
:
import com.google.ai.generativelanguage.v1.DiscussServiceClient;
import com.google.ai.generativelanguage.v1.DiscussServiceSettings;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.api.gax.rpc.FixedHeaderProvider;
HashMap<String, String> headers = new HashMap<>();
headers.put("x-goog-api-key", System.getEnv("API_KEY"));
InstantiatingGrpcChannelProvider provider = InstantiatingGrpcChannelProvider.newBuilder()
.setHeaderProvider(FixedHeaderProvider.create(headers))
.build();
DiscussServiceSettings settings = DiscussServiceSettings.newBuilder()
.setTransportChannelProvider(provider)
.setCredentialsProvider(FixedCredentialsProvider.create(null))
.build();
DiscussServiceClient client = DiscussServiceClient.create(settings);
Crea una instrucción de mensaje
Debes proporcionar un MessagePrompt
a la API para que pueda predecir cuál es el siguiente mensaje de la discusión.
Crea algunos ejemplos (opcional)
De manera opcional, puedes proporcionar algunos ejemplos de lo que debería generar el modelo. Esto incluye tanto la entrada del usuario como la respuesta que el modelo debe emular.
import com.google.ai.generativelanguage.v1.Example;
import com.google.ai.generativelanguage.v1.Message;
Message input = Message.newBuilder()
.setContent("What is the capital of California?")
.build();
Message response = Message.newBuilder()
.setContent("If the capital of California is what you seek, Sacramento is where you ought to peek.")
.build();
Example californiaExample = Example.newBuilder()
.setInput(input)
.setOutput(response)
.build();
Crea la instrucción
Pasa los ejemplos a MessagePrompt.Builder
junto con el historial de mensajes actual y, de forma opcional, el ejemplo del paso anterior.
import com.google.ai.generativelanguage.v1.Message;
import com.google.ai.generativelanguage.v1.MessagePrompt;
Message geminiMessage = Message.newBuilder()
.setAuthor("0")
.setContent("How tall is the Eiffel Tower?")
.build();
MessagePrompt messagePrompt = MessagePrompt.newBuilder()
.addMessages(geminiMessage) // required
.setContext("Respond to all questions with a rhyming poem.") // optional
.addExamples(californiaExample) // use addAllExamples() to add a list of examples
.build();
Generar mensajes
Crear un elemento GenerateMessageRequest
Para crear un GenerateMessageRequest
, pasa un nombre de modelo y un mensaje a GenerateMessageRequest.Builder
:
GenerateMessageRequest request = GenerateMessageRequest.newBuilder()
.setModel("models/chat-bison-001") // Required, which model to use to generate the result
.setPrompt(messagePrompt) // Required
.setTemperature(0.5f) // Optional, controls the randomness of the output
.setCandidateCount(1) // Optional, the number of generated messages to return
.build();
Envía la solicitud
GenerateMessageResponse response = client.generateMessage(request);
Message returnedMessage = response.getCandidatesList().get(0);
System.out.println(returnedMessage);
Próximos pasos
Ahora que creaste tu primera app de Java con la API de PaLM, consulta el siguiente recurso para obtener más información sobre la API y los modelos de lenguaje en general.
- Consulta el tema Introducción a los LLM para obtener más información sobre las técnicas de instrucciones.