PaLM API: Kurzanleitung für Google Chat mit Java

In dieser Kurzanleitung erfahren Sie, wie Sie den Chatdienst in der PaLM API über die Java-Clientbibliothek verwenden.

API-Schlüssel abrufen

Zuerst müssen Sie einen API-Schlüssel anfordern.

API-Client installieren

Mit dieser Anleitung wird das PaLM Java SDK in deinem lokalen Maven-Repository installiert, damit du es als Abhängigkeit zu deinem Gradle-Projekt hinzufügen kannst.

  1. Laden Sie die Datei google-cloud-ai-generativelanguage-v1-java.tar.gz herunter.
  2. Extrahieren Sie die Dateien und installieren Sie sie in 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
    

SDK zum Projekt hinzufügen

  1. Öffnen Sie die Gradle-Konfigurationsdatei und prüfen Sie, ob mavenLocal() unter repositories aufgeführt ist:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. Fügen Sie in der Gradle-Konfigurationsdatei außerdem die erforderlichen Bibliotheken in den dependencies-Block ein:

    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")
    }
    

Diskussionsdienst-Client initialisieren

Initialisieren Sie ein DiscussServiceClient. Dazu übergeben Sie Ihren API-Schlüssel, der über die Umgebungsvariable API_KEY bereitgestellt wird, als Header an den TransportChannelProvider, der von DiscussServiceSettings verwendet werden soll:

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

Nachrichtenaufforderung erstellen

Du musst der API einen MessagePrompt angeben, damit sie die nächste Nachricht in der Diskussion vorhersagen kann.

(Optional) Beispiele erstellen

Optional können Sie einige Beispiele dafür angeben, was das Modell generieren soll. Dies umfasst sowohl Nutzereingaben als auch die Antwort, die das Modell emulieren soll.

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

Prompt erstellen

Übergeben Sie die Beispiele zusammen mit dem aktuellen Nachrichtenverlauf und optional dem Beispiel aus dem vorherigen Schritt an MessagePrompt.Builder.

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

Nachrichten erstellen

GenerateMessageRequest erstellen

Erstellen Sie ein GenerateMessageRequest, indem Sie einen Modellnamen und eine Eingabeaufforderung an GenerateMessageRequest.Builder übergeben:

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

Anfrage senden

GenerateMessageResponse response = client.generateMessage(request);

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

System.out.println(returnedMessage);

Nächste Schritte

Nachdem Sie Ihre erste Java-Anwendung mit der PaLM API erstellt haben, sollten Sie sich die folgende Ressource ansehen, um mehr über die API und die Sprachmodelle im Allgemeinen zu erfahren.