Langsung ke konten utama
Versi Maven Central

Pendahuluan

Pustaka klien untuk Java menawarkan antarmuka yang mudah digunakan untuk berinteraksi dengan layanan Port.

Instalasi

Untuk mengintegrasikan klien ke dalam proyek Anda, tambahkan dependensi menggunakan Maven atau Gradle:
implementation("ai.port.client:port-client:0.1.5")

Fitur

Memanggil Titik Akhir

Port mengelola permintaan titik akhir melalui sistem antrian, memastikan keandalan dan skalabilitas. Gunakan metode subscribe untuk mengirim permintaan dan menunggu hasilnya. Contoh:
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", "seekor anjing berlari di taman");

Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
    String status = update.getStatus().toString();
    String message = String.format("\nPembaruan Status: %s, ID Permintaan: %s",
        status, update.getRequestId());
    System.out.println(message);
};

SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder()
    .input(input)
    .resultType(JsonObject.class)
    .onQueueUpdate(statusUpdateHandler)
    .logs(true)
    .build();

// simpan permintaan langganan ke variabel dan cetak
Output<JsonObject> response = client.subscribe("black-forest-labs/flux-kontext-pro/text-to-image", options);
System.out.println("Selesai!");
System.out.println(response.getData());

Manajemen Antrian

Kelola permintaan Anda dengan metode ini:
Mengirim Permintaan
Kirim permintaan dan dapatkan request_id untuk penggunaan nanti. Contoh:
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", "seekor anjing berlari di taman");

Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
    String status = update.getStatus().toString();
    String message = String.format("\nPembaruan Status: %s, ID Permintaan: %s",
        status, update.getRequestId());
    System.out.println(message);
};

SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder()
    .input(input)
    .resultType(JsonObject.class)
    .onQueueUpdate(statusUpdateHandler)
    .logs(true)
    .build();

// simpan permintaan langganan ke variabel dan cetak
var request = client.queue().submit("black-forest-labs/flux-kontext-pro/text-to-image", options);
Memeriksa Status Permintaan
Ambil status permintaan. Contoh:
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"));
Mengambil Hasil Permintaan
Ambil hasil dari permintaan yang sudah selesai. Contoh:
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"));

Unggahan File

Belum diimplementasikan.
Ukuran file maksimum: 100MB

Dukungan

Bergabunglah dengan komunitas kami untuk bantuan atau diskusi: Kami di sini untuk membantu Anda!