Introduction
La bibliothèque cliente pour Python offre une interface simple à utiliser pour interagir avec les services de Port.
Installation
Pour intégrer le client dans votre projet, installez-le en utilisant pip :
Fonctionnalités
Appeler des points de terminaison
Port gère les requêtes de point de terminaison via un système de file d’attente, garantissant fiabilité et évolutivité. Utilisez la méthode subscribe pour soumettre une requête et attendre le résultat.
Exemple :
import port_client
result = port_client.subscribe(
"black-forest-labs/flux-kontext-pro/text-to-image",
arguments={
"prompt": 'Une ville balnéaire inspirée de Studio Ghibli avec des maisons colorées, du linge qui sèche au vent et des chats qui dorment sur les rebords de fenêtre.',
"width": 1024,
"height": 768,
"output_format": 'jpeg'
},
with_logs=True,
on_enqueue=print,
on_queue_update=print,
)
print(result)
Gestion de la file d’attente
Gérez vos requêtes avec ces méthodes :
Soumettre une requête
Soumettez une requête et récupérez le request_id pour une utilisation ultérieure.
Exemple :
import port_client
handler = port_client.submit(
"black-forest-labs/flux-kontext-pro/text-to-image",
arguments={
"prompt": 'Une ville balnéaire inspirée de Studio Ghibli avec des maisons colorées, du linge qui sèche au vent et des chats qui dorment sur les rebords de fenêtre.',
"width": 1024,
"height": 768,
"output_format": 'jpeg'
},
webhook_url="https://optional.webhook.url/for/results",
)
request_id = handler.request_id
Vérifier le statut de la requête
Récupérez le statut d’une requête.
Exemple :
import port_client
status = port_client.status(request_id, with_logs=True)
Récupérer les résultats de la requête
Récupérez le résultat d’une requête terminée.
Exemple :
import port_client
result = port_client.result(request_id)
Téléchargements de fichiers
Téléchargez des fichiers pour obtenir des URL à utiliser dans des requêtes asynchrones. Ceci est essentiel pour les modèles qui traitent des fichiers, tels que les convertisseurs d’image en vidéo ou de parole en texte.
Taille maximale du fichier : 100 Mo
Télécharger un fichier local
Vous pouvez facilement télécharger un fichier depuis votre système de fichiers local. Ceci est utile pour les scripts ou les applications qui traitent des données locales.
import port_client
# Initialiser le client synchrone
client = port_client.SyncClient()
try:
# Télécharger un fichier depuis un chemin donné
file_url = client.upload_file(path="path/to/your/image.png")
print(f"Fichier téléchargé avec succès : {file_url}")
# Cette URL peut maintenant être utilisée avec un point de terminaison de modèle
except FileNotFoundError:
print("Erreur : Le fichier n'a pas été trouvé au chemin spécifié.")
except Exception as e:
print(f"Une erreur est survenue : {e}")
Télécharger des données en mémoire
Vous pouvez également télécharger des données qui sont conservées en mémoire, telles que le contenu d’une image créée avec PIL (Pillow) ou un fichier reçu dans une requête web.
import port_client
from PIL import Image
import io
# Initialiser le client synchrone
client = port_client.SyncClient()
# Créer une image en mémoire, par exemple avec Pillow
image = Image.new("RGB", (600, 400), color = 'red')
byte_arr = io.BytesIO()
image.save(byte_arr, format='PNG')
image_bytes = byte_arr.getvalue()
# Télécharger les données de l'image en mémoire en utilisant la méthode `upload`
image_url = client.upload(
data=image_bytes,
content_type="image/png"
)
print(f"Image téléchargée avec succès : {image_url}")
Support
Rejoignez notre communauté pour obtenir de l’aide ou participer à des discussions :
Nous sommes là pour vous aider !