Documentation Index
Fetch the complete documentation index at: https://docs.sunra.ai/llms.txt
Use this file to discover all available pages before exploring further.
Java용 클라이언트 라이브러리는 Sunra의 서비스와 상호 작용하기 쉬운 인터페이스를 제공합니다.
프로젝트에 클라이언트를 통합하려면 Maven 또는 Gradle을 사용하여 종속성을 추가하십시오.
implementation("ai.sunra.client:sunra-client:0.1.5")
엔드포인트 호출
Sunra는 대기열 시스템을 통해 엔드포인트 요청을 관리하여 안정성과 확장성을 보장합니다. subscribe 메서드를 사용하여 요청을 제출하고 결과를 기다립니다.
예시:
import ai.sunra.client.*;
import ai.sunra.client.queue.*;
import java.util.Map;
import com.google.gson.JsonObject;
import java.util.function.Consumer;
ClientConfig config = ClientConfig.builder()
.withCredentials(CredentialsResolver.fromEnv())
.build();
SunraClient client = SunraClient.withConfig(config);
Map<String, Object> input = Map.of(
"prompt", "공원에서 뛰노는 개");
Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
String status = update.getStatus().toString();
String message = String.format("\n상태 업데이트: %s, 요청 ID: %s",
status, update.getRequestId());
System.out.println(message);
};
SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder()
.input(input)
.resultType(JsonObject.class)
.onQueueUpdate(statusUpdateHandler)
.logs(true)
.build();
// 구독 요청을 변수에 저장하고 인쇄합니다.
Output<JsonObject> response = client.subscribe("black-forest-labs/flux-kontext-pro/text-to-image", options);
System.out.println("완료!");
System.out.println(response.getData());
대기열 관리
다음 메서드로 요청을 관리합니다.
요청 제출
요청을 제출하고 나중에 사용할 request_id를 검색합니다.
예시:
import ai.sunra.client.*;
import ai.sunra.client.queue.*;
import java.util.Map;
import com.google.gson.JsonObject;
import java.util.function.Consumer;
ClientConfig config = ClientConfig.builder()
.withCredentials(CredentialsResolver.fromEnv())
.build();
SunraClient client = SunraClient.withConfig(config);
Map<String, Object> input = Map.of(
"prompt", "공원에서 뛰노는 개");
Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
String status = update.getStatus().toString();
String message = String.format("\n상태 업데이트: %s, 요청 ID: %s",
status, update.getRequestId());
System.out.println(message);
};
SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder()
.input(input)
.resultType(JsonObject.class)
.onQueueUpdate(statusUpdateHandler)
.logs(true)
.build();
// 구독 요청을 변수에 저장하고 인쇄합니다.
var request = client.queue().submit("black-forest-labs/flux-kontext-pro/text-to-image", options);
요청 상태 확인
요청 상태를 검색합니다.
예시:
import ai.sunra.client.*;
import ai.sunra.client.queue.*;
ClientConfig config = ClientConfig.builder()
.withCredentials(CredentialsResolver.fromEnv())
.build();
SunraClient client = SunraClient.withConfig(config);
var job = client.queue().status(QueueStatusOptions.withRequestId("pd_eTYYuw4EqYLzRBHgnAMHA8zH"));
요청 결과 검색
완료된 요청의 결과를 가져옵니다.
예시:
import ai.sunra.client.*;
import ai.sunra.client.queue.*;
ClientConfig config = ClientConfig.builder()
.withCredentials(CredentialsResolver.fromEnv())
.build();
SunraClient client = SunraClient.withConfig(config);
var result = client.queue().result(QueueStatusOptions.withRequestId("pd_eTYYuw4EqYLzRBHgnAMHA8zH"));
파일 업로드
도움이나 토론을 위해 커뮤니티에 가입하십시오.
저희가 도와드리겠습니다!