API PaLM: guia de início rápido de embeddings com Java

Neste guia de início rápido, você aprenderá a usar o serviço de embeddings da API PaLM. Use o serviço de embeddings para gerar embeddings de texto que podem ser usados em vários aplicativos de linguagem natural.

Receber uma chave de API

Para começar, você precisa conseguir uma chave de API.

O que são embeddings?

Embeddings (link em inglês) são uma técnica usada para representar texto (como palavras, frases ou parágrafos inteiros) como uma lista de números de ponto flutuante em uma matriz. A ideia principal é que o texto com significados semelhantes tenha embeddings semelhantes. É possível usar a relação entre elas para muitas tarefas importantes.

Instalar o cliente da API

Estas instruções vão instalar o SDK do PaLM Java no seu repositório Maven local para que você possa adicioná-lo como uma dependência ao projeto do Gradle.

  1. Faça o download do arquivo google-cloud-ai-generativelanguage-v1-java.tar.gz.
  2. Extraia os arquivos e instale-os em 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. Abra o arquivo de configuração do Gradle e verifique se mavenLocal() está listado em repositories:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  4. Além disso, no arquivo de configuração do Gradle, adicione as bibliotecas necessárias ao bloco 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")
    }
    

Inicializar o cliente de serviço de texto

No seu programa Java, inicialize um TextServiceClient transmitindo sua chave de API como um cabeçalho para o TransportChannelProvider que será usado pelo TextServiceSettings:

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

Gerar embeddings

Nesta seção, você verá como gerar embeddings para um texto usando o método embedText.

Para usar o método embedText, transmita o nome do modelo e um texto para incorporar. Você receberá uma lista de valores de ponto flutuante.

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