Zum Hauptinhalt springen
Maven Central Version

Einführung

Die Client-Bibliothek für Java bietet eine benutzerfreundliche Schnittstelle zur Interaktion mit den Diensten von Port AI.

Installation

Um den Client in Ihr Projekt zu integrieren, fügen Sie die Abhängigkeit mit Maven oder Gradle hinzu:
implementation("ai.port.client:port-client:0.1.5")

Funktionen

Endpunkte aufrufen

Port AI verwaltet Endpunktanfragen über ein Warteschlangensystem, das Zuverlässigkeit und Skalierbarkeit gewährleistet. Verwenden Sie die subscribe-Methode, um eine Anfrage zu senden und auf das Ergebnis zu warten. Beispiel:
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", "ein Hund, der im Park rennt");

Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
    String status = update.getStatus().toString();
    String message = String.format("\nStatus-Update: %s, Anfrage-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();

// die subscribe-Anfrage in einer Variablen speichern und ausgeben
Output<JsonObject> response = client.subscribe("black-forest-labs/flux-kontext-pro/text-to-image", options);
System.out.println("Abgeschlossen!");
System.out.println(response.getData());

Warteschlangenverwaltung

Verwalten Sie Ihre Anfragen mit diesen Methoden:
Eine Anfrage senden
Senden Sie eine Anfrage und rufen Sie die request_id zur späteren Verwendung ab. Beispiel:
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", "ein Hund, der im Park rennt");

Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
    String status = update.getStatus().toString();
    String message = String.format("\nStatus-Update: %s, Anfrage-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();

// die subscribe-Anfrage in einer Variablen speichern und ausgeben
var request = client.queue().submit("black-forest-labs/flux-kontext-pro/text-to-image", options);
Anfragestatus überprüfen
Rufen Sie den Status einer Anfrage ab. Beispiel:
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"));
Anforderungsergebnisse abrufen
Rufen Sie das Ergebnis einer abgeschlossenen Anfrage ab. Beispiel:
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"));

Datei-Uploads

Noch nicht implementiert.
Maximale Dateigröße: 100MB

Unterstützung

Treten Sie unserer Community für Hilfe oder Diskussionen bei: Wir sind hier, um Ihnen zu helfen!