이 빠른 시작에서는 자바 클라이언트 라이브러리를 통해 PaLM API의 채팅 서비스를 사용하는 방법을 알아봅니다.
API 키 가져오기
시작하려면 API 키를 가져와야 합니다.
API 클라이언트 설치
다음 안내를 따르면 PaLM 자바 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") }
토론 서비스 클라이언트 초기화
API 키 (API_KEY
환경 변수를 통해 제공됨)를 DiscussServiceSettings
에서 사용할 TransportChannelProvider
에 헤더로 전달하여 DiscussServiceClient
를 초기화합니다.
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.Builder
에 전달하여 GenerateMessageRequest
를 만듭니다.
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);
다음 단계
이제 PaLM API를 사용하여 첫 번째 자바 앱을 만들었으므로 아래 리소스를 확인하여 일반적인 API 및 언어 모델에 대해 자세히 알아보세요.
- 프롬프팅 기술에 대한 자세한 내용은 LLM 소개 주제를 참조하세요.