PaLM API: מדריך צ'אט למתחילים עם Java

במדריך למתחילים תוכלו להתחיל להשתמש בשירות הצ'אט ב-PaLM API דרך ספריית הלקוח של Java.

קבלת מפתח API

כדי להתחיל, אתם צריכים לקבל מפתח API.

התקנת לקוח ה-API

בהתאם להוראות האלה, ה-PaLM Java SDK יותקן במאגר המקומי של Maven, כדי שתוכלו להוסיף אותו כתלות בפרויקט Gradle.

  1. מורידים את הקובץ google-cloud-ai-generativelanguage-v1-java.tar.gz.
  2. מחלצים את הקבצים ומתקינים אותם ב-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 לפרויקט

  1. פותחים את קובץ התצורה של Gradle ומוודאים שהשדה mavenLocal() מופיע בקטע repositories:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. כמו כן, בקובץ התצורה של Gradle, מוסיפים את הספריות הנחוצות לבלוק 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")
    }
    

הפעלת לקוח השירות של דיון

כדי לאתחל DiscussServiceClient, מעבירים את מפתח ה-API (שמספק באמצעות משתנה הסביבה API_KEY) ככותרת ל-TransportChannelProvider שבו ייעשה שימוש על ידי 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);

יצירה של הנחיית הודעה

עליכם לספק MessagePrompt ל-API כדי שיוכל לחזות מהי ההודעה הבאה בדיון.

(אופציונלי) יוצרים כמה דוגמאות

אפשר גם להוסיף כמה דוגמאות של מה שהמודל אמור ליצור. הנתונים כוללים גם קלט של משתמשים וגם את התגובה שהמודל צריך לחקות.

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

יצירת ההנחיה

מעבירים את הדוגמאות אל 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();

יצירת הודעות

צור GenerateMessageRequest

כדי ליצור GenerateMessageRequest, מעבירים שם של מודל והנחיה ל-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();

שליחת הבקשה

GenerateMessageResponse response = client.generateMessage(request);

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

System.out.println(returnedMessage);

השלבים הבאים

עכשיו, אחרי שיצרתם את אפליקציית Java הראשונה באמצעות PaLM API, תוכלו לעיין במקור המידע שבהמשך כדי לקבל מידע נוסף על ה-API ועל המודלים של השפה באופן כללי.