मावेन सेंट्रल संस्करण

परिचय

जावा के लिए क्लाइंट लाइब्रेरी Sunra की सेवाओं के साथ बातचीत करने के लिए एक उपयोग में आसान इंटरफ़ेस प्रदान करती है।

स्थापना

क्लाइंट को अपने प्रोजेक्ट में एकीकृत करने के लिए, मावेन या ग्रेडेल का उपयोग करके निर्भरता जोड़ें:
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, अनुरोध आईडी: %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, अनुरोध आईडी: %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"));

फ़ाइल अपलोड

अभी तक लागू नहीं किया गया है।
अधिकतम फ़ाइल आकार: 100MB

सहायता

सहायता या चर्चा के लिए हमारे समुदाय में शामिल हों: हम आपकी सहायता के लिए यहां हैं!