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.
- Laden Sie die Datei google-cloud-ai-generativelanguage-v1-java.tar.gz herunter.
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
Öffnen Sie die Gradle-Konfigurationsdatei und prüfen Sie, ob
mavenLocal()
unterrepositories
aufgeführt ist:repositories { mavenCentral() // ... // Add the Maven Local repository mavenLocal() }
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.
- Weitere Informationen zu Aufforderungstechniken finden Sie unter Einführung in LLMs.