novita-gpus SDK gebruikt om een Async Serverless Endpoint aan te roepen en hoe je een worker-handler aanpast.
1. SDK installeren
Installeer de SDK in je clientomgeving of worker-runtimeomgeving:2. Taken indienen met SDK
De standaard aanvraag-URL van denovita-gpus SDK is https://async-public.serverless.novita.ai/v1. Stel je API Key in en maak een client met de Endpoint-naam om een Endpoint aan te roepen.
3. Voorbeeld van ComfyUI-taak
Voornovitalabs/comfyui-worker:v0.0.1 moet de taakinvoer een ComfyUI-workflow bevatten. Het volgende minimale voorbeeld komt overeen met de geteste case:
4. Aangepaste handler
Roep aan de workerzijdenovita_gpus.start({"handler": handler}) aan om de taaklus te starten. Het platform geeft taakgegevens door aan handler(job):
job["id"]: huidige taak-idjob["input"]: invoerinhoud die door de client is ingediend- De retourwaarde van de handler wordt gebruikt als taakuitvoer
- Als de geretourneerde dict een veld
errorbevat, wordt de taak als mislukt gemarkeerd
5. Volledige worker-voorbeelden
Voor volledige worker-broncode, instructies voor het bouwen van Docker-images en scripts voor het indienen van taken, zie de Novita GPUs Python-voorbeelden. De repository bevat twee voorbeelden:- comfyui-worker: voert ComfyUI uit vanuit
handler.pyen retourneert gegenereerde afbeeldingen. - sleep-worker: een minimale
handler.pydie wacht gedurende een aangevraagde duur en een JSON-resultaat retourneert.
handler.py: definieerthandler(job)en start de worker metnovita_gpus.start({"handler": handler}).Dockerfile: bouwt de worker-image.requirements.txt: installeertnovita-gpus.submit_task.py: dient een taak in met denovita-gpusclient-SDK.
<endpoint-id>-<app-name>.
Bijvoorbeeld: Endpoint ID o8UJWkag5WTn en appnaam async leveren op:
submit_task.py voorbeelden accepteren de Endpoint ID en appnaam afzonderlijk en stellen vervolgens de uiteindelijke Endpoint-naam samen:
6. Afbeeldingen of bestanden retourneren
De Async Serverless Endpointstatus API heeft een limiet voor de uitvoergrootte. Upload grote bestanden zoals afbeeldingen en video’s eerst naar objectopslag en retourneer URL’s in de uitvoer.
Configureer omgevingsvariabelen voor objectopslag in de Endpoint:
7. FAQ
Moet ik een API Key in de worker configureren?
Meestal niet. API Keys worden voornamelijk door clients gebruikt om taken in te dienen, op te vragen en te annuleren.Welke handler-retourwaarde markeert een taak als mislukt?
Als de handler een dict retourneert die een velderror bevat, wordt de taak als mislukt gemarkeerd: