Это краткое руководство поможет вам начать использовать службу чата в PaLM API через клиентскую библиотеку Java.
Получить ключ API
Для начала вам потребуется получить ключ API .
Установка API-клиента
Эти инструкции позволят установить PaLM Java SDK в ваш локальный репозиторий Maven, чтобы вы могли добавить его в качестве зависимости к вашему проекту Gradle.
- Загрузите файл google-cloud-ai-generativelanguage-v1-java.tar.gz .
Извлеките файлы и установите их в
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 в ваш проект
Откройте файл конфигурации Gradle и убедитесь, что
mavenLocal()
указан вrepositories
:repositories { mavenCentral() // ... // Add the Maven Local repository mavenLocal() }
Также в файле конфигурации 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);
Создайте приглашение для сообщения
Вам необходимо предоставить API MessagePrompt
, чтобы он мог предсказать, какое сообщение будет следующим в обсуждении.
(необязательно) Придумайте несколько примеров
При желании вы можете предоставить несколько примеров того, что должна генерировать модель. Сюда входит как ввод пользователя, так и ответ, который должна имитировать модель.
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 с использованием API PaLM, посетите ресурс ниже, чтобы узнать больше об API и языковых моделях в целом.
- См. тему «Введение в LLM», чтобы узнать больше о методах подсказок.