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();
// subscribe リクエストを変数に保存して出力する
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();
// subscribe リクエストを変数に保存して出力する
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"));
ファイルアップロード
サポート
ヘルプやディスカッションについては、コミュニティにご参加ください。
サポートさせていただきます!