API PaLM: Guide de démarrage rapide Chat avec Java

Ce guide de démarrage rapide vous aide à utiliser le service de chat dans l'API PaLM via la bibliothèque cliente Java.

Obtenir une clé API

Pour commencer, vous devez obtenir une clé API.

Installer le client API

Avec ces instructions, le SDK Java PaLM sera installé dans votre dépôt Maven local afin que vous puissiez l'ajouter en tant que dépendance à votre projet Gradle.

  1. Téléchargez le fichier google-cloud-ai-generativelanguage-v1-java.tar.gz.
  2. Extrayez les fichiers et installez-les dans 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
    

Ajouter le SDK à votre projet

  1. Ouvrez le fichier de configuration Gradle et assurez-vous que mavenLocal() figure sous repositories:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. Toujours dans votre fichier de configuration Gradle, ajoutez les bibliothèques nécessaires au bloc 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")
    }
    

Initialiser le client de service Discuss

Initialisez un DiscussServiceClient en transmettant votre clé API (fournie via la variable d'environnement API_KEY) en tant qu'en-tête à l'élément TransportChannelProvider qui sera utilisé par 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);

Créer une invite de message

Vous devez fournir un MessagePrompt à l'API afin qu'elle puisse prédire le message suivant dans la discussion.

(Facultatif) Créer des exemples

Vous pouvez éventuellement fournir des exemples de ce que le modèle devrait générer. Cela inclut à la fois l'entrée utilisateur et la réponse que le modèle doit émuler.

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();

Créer la requête

Transmettez les exemples à MessagePrompt.Builder avec l'historique des messages actuel et éventuellement l'exemple de l'étape précédente.

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();

Générer des messages

Créer un élément GenerateMessageRequest

Créez un GenerateMessageRequest en transmettant un nom de modèle et une invite à 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();

Envoyer la requête

GenerateMessageResponse response = client.generateMessage(request);

Message returnedMessage = response.getCandidatesList().get(0);

System.out.println(returnedMessage);

Étapes suivantes

Maintenant que vous avez créé votre première application Java à l'aide de l'API PaLM, consultez la ressource ci-dessous pour en savoir plus sur l'API et les modèles de langage en général.