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!