Zum Hauptinhalt springen
PyPI - Version

Einführung

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

Installation

Um den Client in Ihr Projekt zu integrieren, installieren Sie ihn mit pip:
pip install port-client

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 port_client

result = port_client.subscribe(
    "black-forest-labs/flux-kontext-pro/text-to-image",
    arguments={
        "prompt": 'Eine von Studio Ghibli inspirierte Küstenstadt mit bunten Häusern, flatternder Wäsche und auf Fensterbänken schlafenden Katzen.',
        "width": 1024,
        "height": 768,
        "output_format": 'jpeg'
    },
    with_logs=True,
    on_enqueue=print,
    on_queue_update=print,
)
print(result)

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 port_client

handler = port_client.submit(
    "black-forest-labs/flux-kontext-pro/text-to-image",
    arguments={
      "prompt": 'Eine von Studio Ghibli inspirierte Küstenstadt mit bunten Häusern, flatternder Wäsche und auf Fensterbänken schlafenden Katzen.',
      "width": 1024,
      "height": 768,
      "output_format": 'jpeg'
    },
    webhook_url="https://optional.webhook.url/for/results",
)
request_id = handler.request_id
Anfragestatus überprüfen
Rufen Sie den Status einer Anfrage ab. Beispiel:
import port_client
status = port_client.status(request_id, with_logs=True)
Anforderungsergebnisse abrufen
Rufen Sie das Ergebnis einer abgeschlossenen Anfrage ab. Beispiel:
import port_client
result = port_client.result(request_id)

Datei-Uploads

Laden Sie Dateien hoch, um URLs für die Verwendung in asynchronen Anfragen zu erhalten. Dies ist für Modelle unerlässlich, die Dateien verarbeiten, wie z. B. Bild-zu-Video- oder Sprache-zu-Text-Konverter.
Maximale Dateigröße: 100MB
Hochladen einer lokalen Datei
Sie können ganz einfach eine Datei von Ihrem lokalen Dateisystem hochladen. Dies ist nützlich für Skripte oder Anwendungen, die lokale Daten verarbeiten.
import port_client

# Initialisieren Sie den synchronen Client
client = port_client.SyncClient()

try:
  # Laden Sie eine Datei von einem gegebenen Pfad hoch
  file_url = client.upload_file(path="pfad/zu/ihrem/bild.png")
  print(f"Datei erfolgreich hochgeladen: {file_url}")
  # Diese URL kann jetzt mit einem Modellendpunkt verwendet werden
except FileNotFoundError:
  print("Fehler: Die Datei wurde am angegebenen Pfad nicht gefunden.")
except Exception as e:
  print(f"Ein Fehler ist aufgetreten: {e}")
Hochladen von In-Memory-Daten
Sie können auch Daten hochladen, die im Speicher gehalten werden, wie z. B. den Inhalt eines mit PIL (Pillow) erstellten Bildes oder eine in einer Webanfrage empfangene Datei.
import port_client
from PIL import Image
import io

# Initialisieren Sie den synchronen Client
client = port_client.SyncClient()

# Erstellen Sie ein Bild im Speicher, zum Beispiel mit Pillow
image = Image.new("RGB", (600, 400), color = 'red')
byte_arr = io.BytesIO()
image.save(byte_arr, format='PNG')
image_bytes = byte_arr.getvalue()

# Laden Sie die In-Memory-Bilddaten mit der `upload`-Methode hoch
image_url = client.upload(
    data=image_bytes,
    content_type="image/png"
)
print(f"Bild erfolgreich hochgeladen: {image_url}")

Unterstützung

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