Neste guia de início rápido, você aprenderá a usar o serviço de chat na API PaLM pela biblioteca de cliente Java.
Receber uma chave de API
Para começar, você precisa conseguir uma chave de API.
instalação do cliente da API
Estas instruções vão instalar o SDK do PaLM Java no repositório Maven local para que você possa adicioná-lo como uma dependência ao projeto do Gradle.
- Faça o download do arquivo google-cloud-ai-generativelanguage-v1-java.tar.gz.
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
Como adicionar o SDK ao seu projeto
Abra o arquivo de configuração do Gradle e verifique se
mavenLocal()
está listado emrepositories
:repositories { mavenCentral() // ... // Add the Maven Local repository mavenLocal() }
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 do serviço de discussão
Inicialize um DiscussServiceClient
transmitindo sua chave de API (fornecida pela
variável de ambiente API_KEY
) como um cabeçalho para o
TransportChannelProvider
a ser usado pelo 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);
Criar um prompt de mensagem
Você precisa fornecer um MessagePrompt
à API para que ela possa prever qual é a próxima mensagem na discussão.
(opcional) Crie alguns exemplos
Outra opção é fornecer alguns exemplos do que o modelo deve gerar. Isso inclui a entrada do usuário e a resposta que o modelo precisa emular.
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();
Criar o comando
Transmita os exemplos para o MessagePrompt.Builder
com o histórico de mensagens atual e, opcionalmente, o exemplo da etapa anterior.
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();
Gerar mensagens
Criar um GenerateMessageRequest
.
Crie um GenerateMessageRequest
transmitindo um nome de modelo e uma solicitação para o 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();
Enviar a solicitação
GenerateMessageResponse response = client.generateMessage(request);
Message returnedMessage = response.getCandidatesList().get(0);
System.out.println(returnedMessage);
Próximas etapas
Agora que você criou seu primeiro app Java usando a API PaLM, confira o recurso abaixo para saber mais sobre a API e os modelos de linguagem em geral.
- Consulte o tópico Introdução a LLMs para saber mais sobre técnicas de comando.