Добро пожаловать в официальную библиотеку Python для RunPod API и SDK.
Оглавление
|Установка
Бессерверный рабочий процесс (SDK)
Быстрый старт
Местный специалист по тестированию
Языковая библиотека API (оболочка GraphQL)
Конечные точки
Облако графического процессора (модули)
Каталог
Сообщество и вклад
# Установите последнюю версию выпуска: pip install runpod# или # Установите последнюю версию для разработки (основная ветка) pip install git+https://github.com/runpod/runpod-python.git
Для использования последней версии этого пакета требуется Python 3.8 или выше.
Этот пакет Python также можно использовать для создания бессерверного исполнителя, который можно развернуть в RunPod в качестве пользовательского API конечной точки.
Создайте в своем проекте скрипт Python, содержащий определение вашей модели и рабочий код RunPod. Запустите этот код Python в качестве команды запуска контейнера по умолчанию:
# my_worker.pyimport runpoddef is_even(job):job_input = job["input"]the_number = job_input["number"]if not isinstance(the_number, int):return {"error": "Глупый человек, тебе нужно передать целое число."}if the_number % 2 == 0:return Truereturn Falserunpod.serverless.start({"handler": is_even})
Убедитесь, что этот файл запускается при запуске вашего контейнера. Это можно сделать, вызвав его в команде docker при настройке шаблона по адресу runpod.io/console/serverless/user/templates или установив его в качестве команды по умолчанию в вашем файле Dockerfile.
Ознакомьтесь с публикацией в нашем блоге, посвященной созданию базового бессерверного API, или просмотрите подробную документацию для получения дополнительной информации.
Вы также можете протестировать свой рабочий процесс локально перед его развертыванием в RunPod. Это полезно для отладки и тестирования.
python my_worker.py --rp_serve_api
При взаимодействии с API RunPod вы можете использовать эту библиотеку для отправки запросов к API.
import runpodrunpod.api_key = "your_runpod_api_key_found_under_settings"
Вы можете взаимодействовать с конечными точками RunPod с помощью метода run
или run_sync
.
конечная точка = runpod.Endpoint("ENDPOINT_ID")run_request = endpoint.run( {"your_model_input_key": "your_model_input_value"} )# Проверьте статус запроса на запуск конечной точкиprint(run_request.status())# Получите выходные данные запроса на запуск конечной точки, блокируя до завершения запуска конечной точки.print(run_request.output())
конечная точка = runpod.Endpoint("ENDPOINT_ID")run_request = endpoint.run_sync( {"your_model_input_key": "your_model_input_value"} )# Возвращает результаты задания, если оно завершено в течение 90 секунд, в противном случае возвращает статус задания.print(run_request )
import runpodrunpod.api_key = "your_runpod_api_key_found_under_settings"# Получить все мои подсподы = runpod.get_pods()# Получить конкретный подпод = runpod.get_pod(pod.id)# Создать подпод = runpod.create_pod("test", "runpod/stack" ", "NVIDIA GeForce RTX 3070")# Остановите podrunpod.stop_pod(pod.id)# Возобновить работу podrunpod.resume_pod(pod.id)# Завершить работу podrunpod.terminate_pod(pod.id)
.├── docs # Документация├── примеры # Примеры├── runpod # Исходный код пакета│ ├── api_wrapper # Языковая библиотека - API (GraphQL)│ ├── cli # Функции интерфейса командной строки│ ├── конечная точка # Языковая библиотека — Endpoints│ └── serverless # SDK — Serverless Worker└── тесты # Пакетные тесты
Мы приветствуем как запросы на включение, так и проблемы на GitHub. Исправления ошибок и новые функции приветствуются, но сначала прочтите наше руководство.