Ana içeriğe atla
Maven Central Version

Giriş

Java için istemci kütüphanesi, Port’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.port.client:port-client:0.1.5")

Özellikler

Uç Noktaları Çağırma

Port, 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.port.client.*;
import ai.port.client.queue.*;
import java.util.Map;
import com.google.gson.JsonObject;
import java.util.function.Consumer;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

PortClient client = PortClient.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.port.client.*;
import ai.port.client.queue.*;
import java.util.Map;
import com.google.gson.JsonObject;
import java.util.function.Consumer;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

PortClient client = PortClient.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.port.client.*;
import ai.port.client.queue.*;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

PortClient client = PortClient.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.port.client.*;
import ai.port.client.queue.*;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

PortClient client = PortClient.withConfig(config);
var result = client.queue().result(QueueStatusOptions.withRequestId("pd_eTYYuw4EqYLzRBHgnAMHA8zH"));

Dosya Yüklemeleri

Henüz uygulanmadı.
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!