Sunra gère les requêtes de point de terminaison via un système de file d’attente, garantissant fiabilité et évolutivité. Utilisez la méthode subscribe pour soumettre une requête et attendre le résultat.Exemple :
Copy
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", "un chien qui court dans le parc");Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> { String status = update.getStatus().toString(); String message = String.format("\nMise à jour du statut : %s, ID de la requête : %s", status, update.getRequestId()); System.out.println(message);};SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder() .input(input) .resultType(JsonObject.class) .onQueueUpdate(statusUpdateHandler) .logs(true) .build();// enregistrer la requête d'abonnement dans une variable et l'imprimerOutput<JsonObject> response = client.subscribe("black-forest-labs/flux-kontext-pro/text-to-image", options);System.out.println("Terminé !");System.out.println(response.getData());