PaLM API: Kurzanleitung für Einbettungen mit Java

In dieser Kurzanleitung erfahren Sie, wie Sie den Einbettungsdienst der PaLM API verwenden. Mit dem Einbettungsdienst generieren Sie Texteinbettungen, die Sie in verschiedenen Natural Language-Anwendungen verwenden können.

API-Schlüssel abrufen

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

Was sind Einbettungen?

Mit Einbettungen kann Text (z. B. Wörter, Sätze oder ganze Absätze) als Liste von Gleitkommazahlen in einem Array dargestellt werden. Die Grundidee ist, dass Text mit ähnlichen Bedeutungen ähnliche Einbettungen hat. Die Beziehung zwischen ihnen kann für viele wichtige Aufgaben verwendet werden.

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
    
  3. Öffnen Sie die Gradle-Konfigurationsdatei und prüfen Sie, ob mavenLocal() unter repositories aufgeführt ist:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  4. 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")
    }
    

Textdienst-Client initialisieren

Initialisieren Sie in Ihrem Java-Programm ein TextServiceClient, indem Sie Ihren API-Schlüssel als Header an das TransportChannelProvider übergeben, das von TextServiceSettings verwendet werden soll:

HashMap<String, String> headers = new HashMap<>();
headers.put("x-goog-api-key", "API_KEY");

TransportChannelProvider provider = InstantiatingGrpcChannelProvider.newBuilder()
    .setHeaderProvider(FixedHeaderProvider.create(headers))
    .build();

TextServiceSettings settings = TextServiceSettings.newBuilder()
    .setTransportChannelProvider(provider)
    .setCredentialsProvider(FixedCredentialsProvider.create(null))
    .build();

TextServiceClient client = TextServiceClient.create(settings);

Einbettungen generieren

In diesem Abschnitt erfahren Sie, wie Sie mit der Methode embedText Einbettungen für einen Text generieren.

Wenn Sie die Methode embedText verwenden möchten, geben Sie den Namen des Modells sowie einzubettenden Text ein. Sie erhalten eine Liste mit Gleitkommawerten.

EmbedTextRequest request = EmbedTextRequest.newBuilder()
    .setModel("models/embedding-gecko-001") // Required, which model to use to generate the result
    .setText("What do squirrels eat?") // Required
    .build();

EmbedTextResponse response = client.embedText(request);

List<Float> embedding = response.getEmbedding().getValueList();

System.out.println(embedding);