Bienvenido a la biblioteca oficial de Python para RunPod API y SDK.
Tabla de contenido
|Instalación
Trabajador sin servidor (SDK)
Inicio rápido
Trabajador de pruebas local
Biblioteca de lenguaje API (contenedor GraphQL)
Puntos finales
Nube de GPU (pods)
Directorio
Comunidad y contribución
# Instale la última versión de lanzamientopip install runpod# o# Instale la última versión de desarrollo (rama principal)pip install git+https://github.com/runpod/runpod-python.git
Se requiere Python 3.8 o superior para utilizar la última versión de este paquete.
Este paquete de Python también se puede utilizar para crear un trabajador sin servidor que se puede implementar en RunPod como una API de punto final personalizada.
Cree una secuencia de comandos de Python en su proyecto que contenga la definición de su modelo y el código de inicio del trabajador RunPod. Ejecute este código Python como su comando de inicio de contenedor predeterminado:
# my_worker.pyimport runpoddef is_even(job):job_input = job["input"]the_number = job_input["number"]si no isinstance(the_number, int):return {"error": "Humano tonto, necesitas pasar un entero."}si el_número % 2 == 0:return Truereturn Falserunpod.serverless.start({"handler": is_even})
Asegúrese de que este archivo se ejecute cuando se inicie su contenedor. Esto se puede lograr llamándolo en el comando de la ventana acoplable cuando configura una plantilla en runpod.io/console/serverless/user/templates o configurándolo como el comando predeterminado en su Dockerfile.
Consulte nuestra publicación de blog para crear una API sin servidor básica o consulte los documentos de detalles para obtener más información.
También puede probar su trabajador localmente antes de implementarlo en RunPod. Esto es útil para depurar y probar.
python mi_trabajador.py --rp_serve_api
Al interactuar con la API RunPod, puede utilizar esta biblioteca para realizar solicitudes a la API.
importar runpodrunpod.api_key = "your_runpod_api_key_found_under_settings"
Puede interactuar con los puntos finales de RunPod mediante un método run
o run_sync
.
punto final = runpod.Endpoint("ENDPOINT_ID")run_request = punto final.run( {"your_model_input_key": "tu_modelo_input_value"} )# Verifique el estado de la solicitud de ejecución del punto finalprint(run_request.status())# Obtenga el resultado de la solicitud de ejecución del punto final, bloqueándolo hasta que se complete la ejecución del punto final.print(run_request.output())
punto final = runpod.Endpoint("ENDPOINT_ID")run_request = endpoint.run_sync( {"your_model_input_key": "tu_modelo_input_value"} )# Devuelve los resultados del trabajo si se completa en 90 segundos; de lo contrario, devuelve el estado del trabajo.print(run_request)
import runpodrunpod.api_key = "your_runpod_api_key_found_under_settings"# Obtener todos mis podspods = runpod.get_pods()# Obtener un podpod específico = runpod.get_pod(pod.id)# Crear un podpod = runpod.create_pod("test", "runpod/stack ", "NVIDIA GeForce RTX 3070")# Detener el podrunpod.stop_pod(pod.id)# Reanudar podrunpod.resume_pod(pod.id)# Terminar podrunpod.terminate_pod(pod.id)
.├── docs # Documentación├── ejemplos # Ejemplos├── runpod # Código fuente del paquete│ ├── api_wrapper # Biblioteca de idiomas - API (GraphQL)│ ├── cli # Funciones de interfaz de línea de comando│ ├── endpoint # Biblioteca de idiomas - Endpoints│ └── serverless # SDK - Serverless Worker└── pruebas # Pruebas de paquetes
Damos la bienvenida tanto a las solicitudes de extracción como a los problemas en GitHub. Se recomiendan correcciones de errores y nuevas funciones, pero lea primero nuestra guía de contribución.