PaLM API: Java ile sohbet hızlı başlangıç kılavuzu

Bu hızlı başlangıç kılavuzu, Java istemci kitaplığı üzerinden PaLM API'deki sohbet hizmetini kullanmaya başlamanızı sağlar.

API Anahtarı Alma

Başlamak için bir API anahtarı edinmeniz gerekir.

API İstemcisini Yükleme

Bu talimatlarla PaLM Java SDK yerel Maven deponuza yüklenir. Böylece bu SDK'yı Gradle projenize bağımlılık olarak ekleyebilirsiniz.

  1. google-cloud-ai-generativelanguage-v1-java.tar.gz dosyasını indirin.
  2. Dosyaları çıkarıp mavenLocal konumuna yükleyin:

    # 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'yı projenize ekleme

  1. Gradle yapılandırma dosyanızı açın ve mavenLocal() öğesinin repositories altında listelendiğinden emin olun:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. Ayrıca, Gradle yapılandırma dosyanıza, gerekli kitaplıkları dependencies bloğuna ekleyin:

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

Tartışma Hizmeti İstemcisini başlatma

API Anahtarınızı (API_KEY ortam değişkeni ile sağlanır) DiscussServiceSettings tarafından kullanılacak TransportChannelProvider öğesine başlık olarak geçirerek bir DiscussServiceClient başlatın:

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

Mesaj İstemi oluşturma

Tartışmada bir sonraki mesajın ne olduğunu tahmin edebilmesi için API'ye bir MessagePrompt sağlamanız gerekir.

(isteğe bağlı) Birkaç örnek oluşturun

İsteğe bağlı olarak, modelin oluşturması gerekenlerle ilgili bazı örnekler sağlayabilirsiniz. Buna hem kullanıcı girişi hem de modelin emüle etmesi gereken yanıt dahildir.

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

İstemi oluşturma

Örnekleri, mevcut mesaj geçmişiyle ve isteğe bağlı olarak önceki adımdaki örnekle birlikte MessagePrompt.Builder öğesine iletin.

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

Mesaj Oluştur

GenerateMessageRequest oluşturun

GenerateMessageRequest.Builder öğesine bir model adı ve istem ileterek bir GenerateMessageRequest oluşturun:

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

İsteği gönder

GenerateMessageResponse response = client.generateMessage(request);

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

System.out.println(returnedMessage);

Sonraki adımlar

Artık PaLM API'yi kullanarak ilk Java uygulamanızı oluşturduğunuza göre, genel olarak API ve dil modelleri hakkında daha fazla bilgi edinmek için aşağıdaki kaynağı inceleyebilirsiniz.

  • İstem teknikleri hakkında daha fazla bilgi edinmek için LLM'lere giriş konusuna bakın.