Giriş
Python için istemci kütüphanesi, Port’nın hizmetleriyle etkileşim kurmak için kullanımı kolay bir arayüz sunar.
Kurulum
İstemciyi projenize entegre etmek için pip kullanarak yükleyin:
Özellikler
Uç Noktaları Çağırma
Port, güvenilirlik ve ölçeklenebilirlik sağlayarak uç nokta isteklerini bir kuyruk sistemi aracılığıyla yönetir. Bir istek göndermek ve sonucu beklemek için subscribe yöntemini kullanın.
Örnek:
import port_client
result = port_client.subscribe(
"black-forest-labs/flux-kontext-pro/text-to-image",
arguments={
"prompt": 'Renkli evler, çamaşırların sallandığı ve pencerelerde uyuyan kedilerin olduğu Studio Ghibli tarzı sahil kasabası.',
"width": 1024,
"height": 768,
"output_format": 'jpeg'
},
with_logs=True,
on_enqueue=print,
on_queue_update=print,
)
print(result)
Kuyruk Yönetimi
Bu yöntemlerle isteklerinizi yönetin:
İstek Gönderme
Bir istek gönderin ve daha sonra kullanmak üzere request_id’yi alın.
Örnek:
import port_client
handler = port_client.submit(
"black-forest-labs/flux-kontext-pro/text-to-image",
arguments={
"prompt": 'Renkli evler, çamaşırların sallandığı ve pencerelerde uyuyan kedilerin olduğu Studio Ghibli tarzı sahil kasabası.',
"width": 1024,
"height": 768,
"output_format": 'jpeg'
},
webhook_url="https://optional.webhook.url/for/results",
)
request_id = handler.request_id
İstek Durumunu Kontrol Etme
Bir isteğin durumunu alın.
Örnek:
import port_client
status = port_client.status(request_id, with_logs=True)
İstek Sonuçlarını Alma
Tamamlanmış bir isteğin sonucunu getirin.
Örnek:
import port_client
result = port_client.result(request_id)
Dosya Yüklemeleri
Asenkron isteklerde kullanılmak üzere URL’ler elde etmek için dosya yükleyin. Bu, resimden videoya veya konuşmadan metne dönüştürücüler gibi dosyaları işleyen modeller için gereklidir.
Maksimum dosya boyutu: 100MB
Yerel Dosya Yükleme
Yerel dosya sisteminizden kolayca bir dosya yükleyebilirsiniz. Bu, yerel verileri işleyen komut dosyaları veya uygulamalar için faydalıdır.
import port_client
# Senkron istemciyi başlat
client = port_client.SyncClient()
try:
# Verilen yoldan bir dosya yükle
file_url = client.upload_file(path="path/to/your/image.png")
print(f"Dosya başarıyla yüklendi: {file_url}")
# Bu URL artık bir model uç noktası ile kullanılabilir
except FileNotFoundError:
print("Hata: Dosya belirtilen yolda bulunamadı.")
except Exception as e:
print(f"Bir hata oluştu: {e}")
Bellekteki Verileri Yükleme
PIL (Pillow) ile oluşturulan bir resmin içeriği veya bir web isteğinde alınan dosya gibi bellekte tutulan verileri de yükleyebilirsiniz.
import port_client
from PIL import Image
import io
# Senkron istemciyi başlat
client = port_client.SyncClient()
# Bellekte bir resim oluştur, örneğin Pillow ile
image = Image.new("RGB", (600, 400), color = 'red')
byte_arr = io.BytesIO()
image.save(byte_arr, format='PNG')
image_bytes = byte_arr.getvalue()
# `upload` yöntemini kullanarak bellekteki resim verilerini yükle
image_url = client.upload(
data=image_bytes,
content_type="image/png"
)
print(f"Resim başarıyla yüklendi: {image_url}")
Destek
Yardım veya tartışmalar için topluluğumuza katılın:
Size yardımcı olmak için buradayız!