Bienvenue dans la bibliothèque Python officielle pour l'API et le SDK RunPod.
Table des matières
|Installation
Travailleur sans serveur (SDK)
Démarrage rapide
Travailleur de test local
Bibliothèque de langage API (GraphQL Wrapper)
Points de terminaison
Nuage GPU (pods)
Annuaire
Communauté et contribution
# Installez la dernière versionpip install runpod# ou# Installez la dernière version de développement (branche principale)pip install git+https://github.com/runpod/runpod-python.git
Python 3.8 ou supérieur est requis pour utiliser la dernière version de ce package.
Ce package Python peut également être utilisé pour créer un travailleur sans serveur qui peut être déployé sur RunPod en tant qu'API de point de terminaison personnalisée.
Créez un script Python dans votre projet contenant la définition de votre modèle et le code de démarrage du travailleur RunPod. Exécutez ce code Python comme commande de démarrage de conteneur par défaut :
# my_worker.pyimport runpoddef is_even(job):job_input = job["input"]the_number = job_input["number"]if not isinstance(the_number, int):return {"error": "Idiot humain, tu dois passer un entier."}if the_number % 2 == 0:return Truereturn Falserunpod.serverless.start({"handler": is_even})
Assurez-vous que ce fichier est exécuté au démarrage de votre conteneur. Cela peut être accompli en l'appelant dans la commande docker lorsque vous configurez un modèle sur runpod.io/console/serverless/user/templates ou en le définissant comme commande par défaut dans votre fichier Docker.
Consultez notre article de blog pour créer une API sans serveur de base, ou consultez la documentation détaillée pour plus d'informations.
Vous pouvez également tester votre travailleur localement avant de le déployer sur RunPod. Ceci est utile pour le débogage et les tests.
python mon_worker.py --rp_serve_api
Lorsque vous interagissez avec l'API RunPod, vous pouvez utiliser cette bibliothèque pour envoyer des requêtes à l'API.
importer runpodrunpod.api_key = "your_runpod_api_key_found_under_settings"
Vous pouvez interagir avec les points de terminaison RunPod via une méthode run
ou run_sync
.
endpoint = runpod.Endpoint("ENDPOINT_ID")run_request = endpoint.run( {"your_model_input_key": "votre_model_input_value"} )# Vérifiez l'état de l'exécution du point de terminaison requestprint(run_request.status())# Obtenez le résultat de la demande d'exécution du point de terminaison, en bloquant jusqu'à ce que l'exécution du point de terminaison soit terminée.print(run_request.output())
endpoint = runpod.Endpoint("ENDPOINT_ID")run_request = endpoint.run_sync( {"your_model_input_key": "votre_model_input_value"} )# Renvoie les résultats du travail s'il est terminé dans les 90 secondes, sinon, renvoie le travail status.print(run_request )
import runpodrunpod.api_key = "your_runpod_api_key_found_under_settings"# Récupérer tous mes podspods = runpod.get_pods()# Obtenir un podpod spécifique = runpod.get_pod(pod.id)# Créer un podpod = runpod.create_pod("test", "runpod/stack ", "NVIDIA GeForce RTX 3070")# Arrêtez le podrunpod.stop_pod(pod.id)# Reprendre le podrunpod.resume_pod(pod.id)# Terminer le podrunpod.terminate_pod(pod.id)
.├── docs # Documentation├── exemples # Exemples├── runpod # Code source du package│ ├── api_wrapper # Bibliothèque de langage - API (GraphQL)│ ├── cli # Fonctions d'interface de ligne de commande│ ├── point de terminaison # Bibliothèque de langues - Endpoints│ └── sans serveur # SDK - Serverless Worker└── tests # Tests de packages
Nous accueillons à la fois les demandes d'extraction et les problèmes sur GitHub. Les corrections de bugs et les nouvelles fonctionnalités sont encouragées, mais veuillez d'abord lire notre guide de contribution.