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.
Giriş
Java için istemci kütüphanesi, Sunra’nın hizmetleriyle etkileşim kurmak için kullanımı kolay bir arayüz sunar.
Kurulum
İstemciyi projenize entegre etmek için Maven veya Gradle kullanarak bağımlılığı ekleyin:
implementation("ai.sunra.client:sunra-client:0.1.5")
Özellikler
Uç Noktaları Çağırma
Sunra, güvenilirlik ve ölçeklenebilirlik sağlayarak uç nokta isteklerini bir kuyruk sistemi aracılığıyla yönetir. Bir istek göndermek ve sonucu beklemek için subscribe yöntemini kullanın.
Örnek:
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", "parkta koşan bir köpek");
Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
String status = update.getStatus().toString();
String message = String.format("\nDurum Güncellemesi: %s, İstek 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 isteğini bir değişkene kaydet ve yazdır
Output<JsonObject> response = client.subscribe("black-forest-labs/flux-kontext-pro/text-to-image", options);
System.out.println("Tamamlandı!");
System.out.println(response.getData());
Kuyruk Yönetimi
Bu yöntemlerle isteklerinizi yönetin:
İstek Gönderme
Bir istek gönderin ve daha sonra kullanmak üzere request_id’yi alın.
Örnek:
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", "parkta koşan bir köpek");
Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
String status = update.getStatus().toString();
String message = String.format("\nDurum Güncellemesi: %s, İstek 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 isteğini bir değişkene kaydet ve yazdır
var request = client.queue().submit("black-forest-labs/flux-kontext-pro/text-to-image", options);
İstek Durumunu Kontrol Etme
Bir isteğin durumunu alın.
Örnek:
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"));
İstek Sonuçlarını Alma
Tamamlanmış bir isteğin sonucunu getirin.
Örnek:
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"));
Dosya Yüklemeleri
Maksimum dosya boyutu: 100MB
Destek
Yardım veya tartışmalar için topluluğumuza katılın:
Size yardımcı olmak için buradayız!