kiapi 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kiapi/__init__.py +3 -0
- kiapi/__main__.py +4 -0
- kiapi/api/__init__.py +26 -0
- kiapi/api/_constants/require_auth.py +14 -0
- kiapi/api/_helpers/build_job_responses.py +73 -0
- kiapi/api/_helpers/build_openapi.py +55 -0
- kiapi/api/_helpers/build_train_responses.py +21 -0
- kiapi/api/_helpers/get_accept.py +20 -0
- kiapi/api/_helpers/get_ctx.py +7 -0
- kiapi/api/_helpers/get_worker.py +7 -0
- kiapi/api/_helpers/register_capability_endpoints.py +70 -0
- kiapi/api/_helpers/submit_and_maybe_wait.py +113 -0
- kiapi/api/_settings.py +50 -0
- kiapi/api/_views/async_job_response.py +21 -0
- kiapi/api/_views/capability_model_spec.py +49 -0
- kiapi/api/app.py +150 -0
- kiapi/api/audio/acestep/_views/extract_response.py +57 -0
- kiapi/api/audio/acestep/_views/track_response.py +57 -0
- kiapi/api/audio/acestep/router.py +190 -0
- kiapi/api/audio/audiogen/_views/audio_response.py +46 -0
- kiapi/api/audio/audiogen/router.py +77 -0
- kiapi/api/chat/_views/chat_completion_response.py +71 -0
- kiapi/api/chat/router.py +253 -0
- kiapi/api/embedding/_views/embedding_response.py +35 -0
- kiapi/api/embedding/router.py +82 -0
- kiapi/api/files/_operations/get_file.py +14 -0
- kiapi/api/files/_operations/get_file_id.py +18 -0
- kiapi/api/files/_views/file_delete_response.py +14 -0
- kiapi/api/files/_views/file_list_response.py +15 -0
- kiapi/api/files/router.py +105 -0
- kiapi/api/health/_views/health_response.py +26 -0
- kiapi/api/health/router.py +28 -0
- kiapi/api/image/depthpro/_views/estimate_response.py +70 -0
- kiapi/api/image/depthpro/router.py +81 -0
- kiapi/api/image/ernie/_views/image_response.py +50 -0
- kiapi/api/image/ernie/router.py +181 -0
- kiapi/api/image/flux2/_views/image_response.py +53 -0
- kiapi/api/image/flux2/router.py +197 -0
- kiapi/api/image/ideogram4/_views/image_response.py +55 -0
- kiapi/api/image/ideogram4/router.py +87 -0
- kiapi/api/image/qwen/_views/image_response.py +47 -0
- kiapi/api/image/qwen/router.py +141 -0
- kiapi/api/image/seedvr2/_views/image_response.py +50 -0
- kiapi/api/image/seedvr2/router.py +83 -0
- kiapi/api/image/zimage/_views/image_response.py +49 -0
- kiapi/api/image/zimage/router.py +131 -0
- kiapi/api/jobs/_operations/get_job_id.py +18 -0
- kiapi/api/jobs/_views/job_delete_response.py +19 -0
- kiapi/api/jobs/_views/job_list_response.py +15 -0
- kiapi/api/jobs/router.py +62 -0
- kiapi/api/models/_schemas/openai_model_spec.py +26 -0
- kiapi/api/models/_views/model_list_response.py +15 -0
- kiapi/api/models/router.py +29 -0
- kiapi/api/video/ltx2/_views/__init__.py +1 -0
- kiapi/api/video/ltx2/_views/video_response.py +59 -0
- kiapi/api/video/ltx2/router.py +89 -0
- kiapi/api/web/_views/__init__.py +7 -0
- kiapi/api/web/_views/fetch_api_request.py +26 -0
- kiapi/api/web/_views/fetch_error_response.py +25 -0
- kiapi/api/web/router.py +302 -0
- kiapi/capabilities/__init__.py +24 -0
- kiapi/capabilities/_exceptions/CapabilityError.py +2 -0
- kiapi/capabilities/_exceptions/ValidationError.py +2 -0
- kiapi/capabilities/_helpers/attach_mflux_progress.py +50 -0
- kiapi/capabilities/_helpers/get_file_path.py +20 -0
- kiapi/capabilities/_helpers/resolve_file_ref.py +16 -0
- kiapi/capabilities/acestep/README.ja.md +174 -0
- kiapi/capabilities/acestep/README.md +167 -0
- kiapi/capabilities/acestep/__init__.py +37 -0
- kiapi/capabilities/acestep/_constants/description.py +122 -0
- kiapi/capabilities/acestep/_exceptions/ace_step_engine_error.py +2 -0
- kiapi/capabilities/acestep/_helpers/register.py +96 -0
- kiapi/capabilities/acestep/_models/acestep.py +105 -0
- kiapi/capabilities/acestep/_operations/handle_cover.py +23 -0
- kiapi/capabilities/acestep/_operations/handle_extract.py +38 -0
- kiapi/capabilities/acestep/_operations/handle_generate.py +18 -0
- kiapi/capabilities/acestep/_operations/handle_repaint.py +25 -0
- kiapi/capabilities/acestep/_operations/resolve_ace_step_paths.py +30 -0
- kiapi/capabilities/acestep/_operations/resolve_cover_params.py +21 -0
- kiapi/capabilities/acestep/_operations/resolve_engine.py +10 -0
- kiapi/capabilities/acestep/_operations/resolve_extract_params.py +24 -0
- kiapi/capabilities/acestep/_operations/resolve_generate_params.py +18 -0
- kiapi/capabilities/acestep/_operations/resolve_repaint_params.py +22 -0
- kiapi/capabilities/acestep/_schemas/ace_step_paths.py +29 -0
- kiapi/capabilities/acestep/_services/ace_step_engine.py +143 -0
- kiapi/capabilities/acestep/_settings.py +82 -0
- kiapi/capabilities/acestep/_views/ace_step_base.py +61 -0
- kiapi/capabilities/acestep/_views/cover_params.py +26 -0
- kiapi/capabilities/acestep/_views/cover_request.py +49 -0
- kiapi/capabilities/acestep/_views/extract_params.py +24 -0
- kiapi/capabilities/acestep/_views/extract_request.py +33 -0
- kiapi/capabilities/acestep/_views/generate_params.py +25 -0
- kiapi/capabilities/acestep/_views/generate_request.py +54 -0
- kiapi/capabilities/acestep/_views/repaint_params.py +27 -0
- kiapi/capabilities/acestep/_views/repaint_request.py +51 -0
- kiapi/capabilities/acestep/_views/track_params.py +7 -0
- kiapi/capabilities/acestep/worker_subprocess.py +247 -0
- kiapi/capabilities/audiogen/README.ja.md +49 -0
- kiapi/capabilities/audiogen/README.md +48 -0
- kiapi/capabilities/audiogen/__init__.py +25 -0
- kiapi/capabilities/audiogen/_constants/description.py +60 -0
- kiapi/capabilities/audiogen/_helpers/attach_audiogen_progress.py +27 -0
- kiapi/capabilities/audiogen/_helpers/register.py +42 -0
- kiapi/capabilities/audiogen/_helpers/validate_generate.py +14 -0
- kiapi/capabilities/audiogen/_models/audiogen.py +98 -0
- kiapi/capabilities/audiogen/_operations/handle_generate.py +27 -0
- kiapi/capabilities/audiogen/_operations/resolve_generate_params.py +25 -0
- kiapi/capabilities/audiogen/_settings.py +34 -0
- kiapi/capabilities/audiogen/_views/generate_params.py +14 -0
- kiapi/capabilities/audiogen/_views/generate_request.py +96 -0
- kiapi/capabilities/chat/README.ja.md +822 -0
- kiapi/capabilities/chat/README.md +806 -0
- kiapi/capabilities/chat/__init__.py +25 -0
- kiapi/capabilities/chat/_constants/description.py +163 -0
- kiapi/capabilities/chat/_helpers/register.py +67 -0
- kiapi/capabilities/chat/_models/qwen3_5.py +183 -0
- kiapi/capabilities/chat/_models/qwen3_omni.py +242 -0
- kiapi/capabilities/chat/_operations/apply_template.py +74 -0
- kiapi/capabilities/chat/_operations/completed_hermes_tool_call_text.py +9 -0
- kiapi/capabilities/chat/_operations/emit_streaming_response.py +297 -0
- kiapi/capabilities/chat/_operations/ensure_streaming_detokenizer_compat.py +49 -0
- kiapi/capabilities/chat/_operations/format_response.py +72 -0
- kiapi/capabilities/chat/_operations/handle_chat.py +25 -0
- kiapi/capabilities/chat/_operations/parse_hermes_tool_calls.py +63 -0
- kiapi/capabilities/chat/_operations/parse_json_tool_calls.py +66 -0
- kiapi/capabilities/chat/_operations/parse_messages.py +326 -0
- kiapi/capabilities/chat/_operations/resolve_chat_params.py +50 -0
- kiapi/capabilities/chat/_operations/stream_text_from_tokens.py +32 -0
- kiapi/capabilities/chat/_operations/strip_tool_calls.py +15 -0
- kiapi/capabilities/chat/_settings.py +74 -0
- kiapi/capabilities/chat/_utils/apply_parallel_tool_call_policy.py +17 -0
- kiapi/capabilities/chat/_utils/apply_seed.py +8 -0
- kiapi/capabilities/chat/_utils/load_audio_mono.py +31 -0
- kiapi/capabilities/chat/_utils/load_mlx_vlm.py +12 -0
- kiapi/capabilities/chat/_utils/warmup_params.py +26 -0
- kiapi/capabilities/chat/_views/chat_params.py +34 -0
- kiapi/capabilities/chat/_views/chat_request.py +153 -0
- kiapi/capabilities/depthpro/README.ja.md +131 -0
- kiapi/capabilities/depthpro/README.md +124 -0
- kiapi/capabilities/depthpro/__init__.py +23 -0
- kiapi/capabilities/depthpro/_constants/description.py +39 -0
- kiapi/capabilities/depthpro/_helpers/register.py +46 -0
- kiapi/capabilities/depthpro/_helpers/validate_estimate.py +32 -0
- kiapi/capabilities/depthpro/_models/depthpro.py +144 -0
- kiapi/capabilities/depthpro/_operations/handle_estimate.py +50 -0
- kiapi/capabilities/depthpro/_operations/is_quantize_override.py +12 -0
- kiapi/capabilities/depthpro/_operations/resolve_estimate_params.py +24 -0
- kiapi/capabilities/depthpro/_settings.py +46 -0
- kiapi/capabilities/depthpro/_views/estimate_params.py +21 -0
- kiapi/capabilities/depthpro/_views/estimate_request.py +63 -0
- kiapi/capabilities/embedding/README.ja.md +137 -0
- kiapi/capabilities/embedding/README.md +128 -0
- kiapi/capabilities/embedding/__init__.py +24 -0
- kiapi/capabilities/embedding/_constants/description.py +47 -0
- kiapi/capabilities/embedding/_helpers/register.py +66 -0
- kiapi/capabilities/embedding/_models/qwen3_text.py +53 -0
- kiapi/capabilities/embedding/_models/qwen3_vl.py +97 -0
- kiapi/capabilities/embedding/_operations/format_response.py +24 -0
- kiapi/capabilities/embedding/_operations/handle_embed.py +24 -0
- kiapi/capabilities/embedding/_operations/parse_inputs.py +108 -0
- kiapi/capabilities/embedding/_operations/resolve_embed_params.py +18 -0
- kiapi/capabilities/embedding/_settings.py +27 -0
- kiapi/capabilities/embedding/_utils/to_vector.py +20 -0
- kiapi/capabilities/embedding/_views/embed_params.py +17 -0
- kiapi/capabilities/embedding/_views/embed_request.py +39 -0
- kiapi/capabilities/ernie/README.ja.md +242 -0
- kiapi/capabilities/ernie/README.md +223 -0
- kiapi/capabilities/ernie/__init__.py +34 -0
- kiapi/capabilities/ernie/_constants/description.py +71 -0
- kiapi/capabilities/ernie/_helpers/register.py +60 -0
- kiapi/capabilities/ernie/_helpers/validate_edit.py +19 -0
- kiapi/capabilities/ernie/_helpers/validate_generate.py +8 -0
- kiapi/capabilities/ernie/_models/ernie.py +356 -0
- kiapi/capabilities/ernie/_operations/handle_edit.py +39 -0
- kiapi/capabilities/ernie/_operations/handle_generate.py +38 -0
- kiapi/capabilities/ernie/_operations/handle_train.py +77 -0
- kiapi/capabilities/ernie/_operations/is_quantize_override.py +16 -0
- kiapi/capabilities/ernie/_operations/resolve_edit_params.py +44 -0
- kiapi/capabilities/ernie/_operations/resolve_generate_params.py +40 -0
- kiapi/capabilities/ernie/_operations/resolve_lora_params.py +23 -0
- kiapi/capabilities/ernie/_operations/resolve_train_params.py +43 -0
- kiapi/capabilities/ernie/_operations/validate_common.py +33 -0
- kiapi/capabilities/ernie/_schemas/lora_ref.py +27 -0
- kiapi/capabilities/ernie/_settings.py +151 -0
- kiapi/capabilities/ernie/_views/edit_params.py +36 -0
- kiapi/capabilities/ernie/_views/edit_request.py +142 -0
- kiapi/capabilities/ernie/_views/generate_params.py +32 -0
- kiapi/capabilities/ernie/_views/generate_request.py +127 -0
- kiapi/capabilities/ernie/_views/train_params.py +28 -0
- kiapi/capabilities/ernie/_views/train_request.py +96 -0
- kiapi/capabilities/flux2/README.ja.md +260 -0
- kiapi/capabilities/flux2/README.md +241 -0
- kiapi/capabilities/flux2/__init__.py +36 -0
- kiapi/capabilities/flux2/_constants/description.py +81 -0
- kiapi/capabilities/flux2/_helpers/register.py +98 -0
- kiapi/capabilities/flux2/_helpers/validate_edit.py +12 -0
- kiapi/capabilities/flux2/_helpers/validate_generate.py +8 -0
- kiapi/capabilities/flux2/_models/flux2.py +396 -0
- kiapi/capabilities/flux2/_operations/handle_edit.py +44 -0
- kiapi/capabilities/flux2/_operations/handle_generate.py +46 -0
- kiapi/capabilities/flux2/_operations/handle_train.py +105 -0
- kiapi/capabilities/flux2/_operations/is_quantize_override.py +16 -0
- kiapi/capabilities/flux2/_operations/resolve_edit_params.py +43 -0
- kiapi/capabilities/flux2/_operations/resolve_generate_params.py +44 -0
- kiapi/capabilities/flux2/_operations/resolve_lora_params.py +23 -0
- kiapi/capabilities/flux2/_operations/resolve_train_params.py +42 -0
- kiapi/capabilities/flux2/_operations/role_spec.py +13 -0
- kiapi/capabilities/flux2/_operations/split_repo.py +11 -0
- kiapi/capabilities/flux2/_operations/validate_common.py +35 -0
- kiapi/capabilities/flux2/_schemas/lora_ref.py +27 -0
- kiapi/capabilities/flux2/_settings.py +181 -0
- kiapi/capabilities/flux2/_views/edit_params.py +36 -0
- kiapi/capabilities/flux2/_views/edit_request.py +145 -0
- kiapi/capabilities/flux2/_views/generate_params.py +36 -0
- kiapi/capabilities/flux2/_views/generate_request.py +150 -0
- kiapi/capabilities/flux2/_views/train_params.py +32 -0
- kiapi/capabilities/flux2/_views/train_request.py +102 -0
- kiapi/capabilities/ideogram4/README.ja.md +230 -0
- kiapi/capabilities/ideogram4/README.md +219 -0
- kiapi/capabilities/ideogram4/__init__.py +24 -0
- kiapi/capabilities/ideogram4/_constants/description.py +65 -0
- kiapi/capabilities/ideogram4/_helpers/register.py +44 -0
- kiapi/capabilities/ideogram4/_helpers/validate_generate.py +31 -0
- kiapi/capabilities/ideogram4/_models/ideogram4.py +120 -0
- kiapi/capabilities/ideogram4/_operations/handle_generate.py +30 -0
- kiapi/capabilities/ideogram4/_operations/is_quantize_override.py +12 -0
- kiapi/capabilities/ideogram4/_operations/resolve_generate_params.py +30 -0
- kiapi/capabilities/ideogram4/_settings.py +89 -0
- kiapi/capabilities/ideogram4/_views/generate_params.py +27 -0
- kiapi/capabilities/ideogram4/_views/generate_request.py +118 -0
- kiapi/capabilities/ltx2/README.ja.md +287 -0
- kiapi/capabilities/ltx2/README.md +274 -0
- kiapi/capabilities/ltx2/__init__.py +26 -0
- kiapi/capabilities/ltx2/_constants/description.py +81 -0
- kiapi/capabilities/ltx2/_helpers/register.py +58 -0
- kiapi/capabilities/ltx2/_helpers/validate_generate.py +42 -0
- kiapi/capabilities/ltx2/_models/ltx2.py +106 -0
- kiapi/capabilities/ltx2/_operations/detect_mode.py +19 -0
- kiapi/capabilities/ltx2/_operations/handle_generate.py +52 -0
- kiapi/capabilities/ltx2/_operations/resolve_generate_params.py +31 -0
- kiapi/capabilities/ltx2/_settings.py +93 -0
- kiapi/capabilities/ltx2/_views/generate_params.py +34 -0
- kiapi/capabilities/ltx2/_views/generate_request.py +151 -0
- kiapi/capabilities/qwen/README.ja.md +251 -0
- kiapi/capabilities/qwen/README.md +235 -0
- kiapi/capabilities/qwen/__init__.py +30 -0
- kiapi/capabilities/qwen/_constants/description.py +53 -0
- kiapi/capabilities/qwen/_helpers/register.py +60 -0
- kiapi/capabilities/qwen/_helpers/validate_edit.py +12 -0
- kiapi/capabilities/qwen/_helpers/validate_generate.py +12 -0
- kiapi/capabilities/qwen/_models/qwen.py +224 -0
- kiapi/capabilities/qwen/_operations/handle_edit.py +44 -0
- kiapi/capabilities/qwen/_operations/handle_generate.py +46 -0
- kiapi/capabilities/qwen/_operations/is_quantize_override.py +15 -0
- kiapi/capabilities/qwen/_operations/resolve_edit_params.py +35 -0
- kiapi/capabilities/qwen/_operations/resolve_generate_params.py +39 -0
- kiapi/capabilities/qwen/_operations/resolve_lora_params.py +23 -0
- kiapi/capabilities/qwen/_operations/validate_common.py +32 -0
- kiapi/capabilities/qwen/_schemas/lora_ref.py +27 -0
- kiapi/capabilities/qwen/_settings.py +107 -0
- kiapi/capabilities/qwen/_views/edit_params.py +36 -0
- kiapi/capabilities/qwen/_views/edit_request.py +138 -0
- kiapi/capabilities/qwen/_views/generate_params.py +37 -0
- kiapi/capabilities/qwen/_views/generate_request.py +149 -0
- kiapi/capabilities/seedvr2/README.ja.md +234 -0
- kiapi/capabilities/seedvr2/README.md +219 -0
- kiapi/capabilities/seedvr2/__init__.py +24 -0
- kiapi/capabilities/seedvr2/_constants/description.py +46 -0
- kiapi/capabilities/seedvr2/_helpers/register.py +60 -0
- kiapi/capabilities/seedvr2/_helpers/validate_upscale.py +52 -0
- kiapi/capabilities/seedvr2/_models/seedvr2.py +140 -0
- kiapi/capabilities/seedvr2/_operations/handle_upscale.py +42 -0
- kiapi/capabilities/seedvr2/_operations/is_quantize_override.py +12 -0
- kiapi/capabilities/seedvr2/_operations/resolve_upscale_params.py +30 -0
- kiapi/capabilities/seedvr2/_settings.py +74 -0
- kiapi/capabilities/seedvr2/_views/upscale_params.py +27 -0
- kiapi/capabilities/seedvr2/_views/upscale_request.py +94 -0
- kiapi/capabilities/web/README.ja.md +187 -0
- kiapi/capabilities/web/README.md +171 -0
- kiapi/capabilities/web/__init__.py +30 -0
- kiapi/capabilities/web/_constants/description.py +38 -0
- kiapi/capabilities/web/_exceptions/FetchError.py +24 -0
- kiapi/capabilities/web/_exceptions/SearchBackendError.py +11 -0
- kiapi/capabilities/web/_helpers/register.py +59 -0
- kiapi/capabilities/web/_models/crawl4ai.py +32 -0
- kiapi/capabilities/web/_models/searxng.py +44 -0
- kiapi/capabilities/web/_operations/handle_fetch.py +145 -0
- kiapi/capabilities/web/_operations/handle_search.py +56 -0
- kiapi/capabilities/web/_operations/resolve_fetch_params.py +19 -0
- kiapi/capabilities/web/_operations/resolve_search_params.py +34 -0
- kiapi/capabilities/web/_operations/resolve_searxng_config_dir.py +21 -0
- kiapi/capabilities/web/_services/__init__.py +1 -0
- kiapi/capabilities/web/_services/web_backend_process.py +144 -0
- kiapi/capabilities/web/_settings.py +138 -0
- kiapi/capabilities/web/_views/fetch_params.py +27 -0
- kiapi/capabilities/web/_views/fetch_request.py +29 -0
- kiapi/capabilities/web/_views/fetch_result.py +20 -0
- kiapi/capabilities/web/_views/search_params.py +43 -0
- kiapi/capabilities/web/_views/search_request.py +93 -0
- kiapi/capabilities/web/_views/search_response.py +49 -0
- kiapi/capabilities/web/resources/__init__.py +0 -0
- kiapi/capabilities/web/resources/searxng/__init__.py +0 -0
- kiapi/capabilities/web/resources/searxng/settings.yml +11 -0
- kiapi/capabilities/zimage/README.ja.md +249 -0
- kiapi/capabilities/zimage/README.md +231 -0
- kiapi/capabilities/zimage/__init__.py +34 -0
- kiapi/capabilities/zimage/_constants/description.py +73 -0
- kiapi/capabilities/zimage/_helpers/register.py +62 -0
- kiapi/capabilities/zimage/_helpers/validate_generate.py +37 -0
- kiapi/capabilities/zimage/_models/zimage.py +278 -0
- kiapi/capabilities/zimage/_operations/handle_generate.py +38 -0
- kiapi/capabilities/zimage/_operations/handle_train.py +78 -0
- kiapi/capabilities/zimage/_operations/is_quantize_override.py +11 -0
- kiapi/capabilities/zimage/_operations/resolve_generate_params.py +39 -0
- kiapi/capabilities/zimage/_operations/resolve_lora_params.py +23 -0
- kiapi/capabilities/zimage/_operations/resolve_train_params.py +38 -0
- kiapi/capabilities/zimage/_schemas/lora_ref.py +27 -0
- kiapi/capabilities/zimage/_settings.py +166 -0
- kiapi/capabilities/zimage/_views/generate_params.py +23 -0
- kiapi/capabilities/zimage/_views/generate_request.py +127 -0
- kiapi/capabilities/zimage/_views/train_params.py +22 -0
- kiapi/capabilities/zimage/_views/train_request.py +101 -0
- kiapi/cli/__init__.py +11 -0
- kiapi/cli/_helpers/dedupe_resources.py +12 -0
- kiapi/cli/_helpers/register_all_capabilities.py +36 -0
- kiapi/cli/_helpers/run_resources.py +24 -0
- kiapi/cli/_helpers/select_specs.py +67 -0
- kiapi/cli/activate/_operations/preflight_hf_access.py +129 -0
- kiapi/cli/activate/cli.py +37 -0
- kiapi/cli/check/_helpers/check_audio_acestep_turbo.py +22 -0
- kiapi/cli/check/_helpers/check_audio_acestep_xl_base.py +22 -0
- kiapi/cli/check/_helpers/check_audio_audiogen_medium.py +24 -0
- kiapi/cli/check/_helpers/check_chat_chat_qwen3_6_27b.py +19 -0
- kiapi/cli/check/_helpers/check_chat_chat_qwen3_omni.py +19 -0
- kiapi/cli/check/_helpers/check_embedding_embedding_qwen3_embedding_8b.py +14 -0
- kiapi/cli/check/_helpers/check_embedding_embedding_qwen3_vl_embedding_2b.py +19 -0
- kiapi/cli/check/_helpers/check_image_depthpro_base.py +21 -0
- kiapi/cli/check/_helpers/check_image_ernie_base.py +23 -0
- kiapi/cli/check/_helpers/check_image_ernie_turbo.py +23 -0
- kiapi/cli/check/_helpers/check_image_flux2_klein_9b.py +23 -0
- kiapi/cli/check/_helpers/check_image_flux2_klein_base_4b.py +23 -0
- kiapi/cli/check/_helpers/check_image_flux2_klein_base_9b.py +23 -0
- kiapi/cli/check/_helpers/check_image_ideogram4_fp8.py +23 -0
- kiapi/cli/check/_helpers/check_image_qwen_edit_2509.py +27 -0
- kiapi/cli/check/_helpers/check_image_qwen_image.py +23 -0
- kiapi/cli/check/_helpers/check_image_seedvr2_3b.py +23 -0
- kiapi/cli/check/_helpers/check_image_seedvr2_7b.py +23 -0
- kiapi/cli/check/_helpers/check_image_zimage_base.py +23 -0
- kiapi/cli/check/_helpers/check_image_zimage_turbo.py +23 -0
- kiapi/cli/check/_helpers/check_video_ltx2_distilled.py +26 -0
- kiapi/cli/check/_helpers/check_web_web_fetch.py +14 -0
- kiapi/cli/check/_helpers/check_web_web_search.py +14 -0
- kiapi/cli/check/_operations/build_check_result.py +20 -0
- kiapi/cli/check/_operations/check_context.py +10 -0
- kiapi/cli/check/_operations/create_sample_image.py +46 -0
- kiapi/cli/check/_schemas/check_result.py +12 -0
- kiapi/cli/check/cli.py +89 -0
- kiapi/cli/cli.py +29 -0
- kiapi/cli/config/cli.py +17 -0
- kiapi/cli/config/edit/cli.py +32 -0
- kiapi/cli/config/init/cli.py +33 -0
- kiapi/cli/config/show/cli.py +13 -0
- kiapi/cli/config/template/cli.py +36 -0
- kiapi/cli/deactivate/cli.py +49 -0
- kiapi/cli/run/asgi.py +16 -0
- kiapi/cli/run/cli.py +59 -0
- kiapi/cli/service/__init__.py +5 -0
- kiapi/cli/service/_services/service_manager.py +107 -0
- kiapi/cli/service/cli.py +19 -0
- kiapi/cli/service/install/cli.py +17 -0
- kiapi/cli/service/start/cli.py +22 -0
- kiapi/cli/service/status/cli.py +81 -0
- kiapi/cli/service/stop/cli.py +19 -0
- kiapi/cli/service/uninstall/cli.py +16 -0
- kiapi/cli/status/cli.py +226 -0
- kiapi/core/app/__init__.py +16 -0
- kiapi/core/app/_schemas/app_context.py +28 -0
- kiapi/core/app/_services/user_directory.py +59 -0
- kiapi/core/app/_settings.py +46 -0
- kiapi/core/capability/__init__.py +11 -0
- kiapi/core/capability/_schemas/capability_spec.py +17 -0
- kiapi/core/capability/_services/capability_spec_registry.py +21 -0
- kiapi/core/config/__init__.py +11 -0
- kiapi/core/config/_exceptions/user_config_error.py +2 -0
- kiapi/core/config/_helpers/get_user_settings_path.py +7 -0
- kiapi/core/config/_helpers/load_user_settings.py +54 -0
- kiapi/core/file/__init__.py +37 -0
- kiapi/core/file/_helpers/create_file_store.py +7 -0
- kiapi/core/file/_helpers/resolve_file_ref.py +90 -0
- kiapi/core/file/_schemas/file_data_url_ref.py +19 -0
- kiapi/core/file/_schemas/file_id_ref.py +16 -0
- kiapi/core/file/_schemas/file_record.py +46 -0
- kiapi/core/file/_schemas/file_url_ref.py +16 -0
- kiapi/core/file/_services/file_store.py +138 -0
- kiapi/core/file/_settings.py +22 -0
- kiapi/core/file/_types/file_id.py +2 -0
- kiapi/core/file/_types/file_ref.py +12 -0
- kiapi/core/file/_views/resolved_file_ref.py +16 -0
- kiapi/core/job/__init__.py +24 -0
- kiapi/core/job/_enums/job_status.py +9 -0
- kiapi/core/job/_helpers/creep_progress.py +123 -0
- kiapi/core/job/_models/job.py +121 -0
- kiapi/core/job/_services/job_store.py +33 -0
- kiapi/core/job/_services/progress_reporter.py +79 -0
- kiapi/core/job/_types/job_id.py +3 -0
- kiapi/core/job/_types/job_result.py +5 -0
- kiapi/core/job/_types/job_type.py +4 -0
- kiapi/core/logging/__init__.py +14 -0
- kiapi/core/logging/_helpers/get_log_level.py +8 -0
- kiapi/core/logging/_helpers/setup_logger.py +14 -0
- kiapi/core/logging/_settings.py +34 -0
- kiapi/core/logging/_types/log_level.py +3 -0
- kiapi/core/memory/__init__.py +21 -0
- kiapi/core/memory/_exceptions/memory_budget_error.py +2 -0
- kiapi/core/memory/_helpers/create_memory_manager.py +17 -0
- kiapi/core/memory/_operations/log_memory_limit.py +29 -0
- kiapi/core/memory/_operations/resolve_effective_memory_limit_gb.py +13 -0
- kiapi/core/memory/_operations/resolve_framework_strategy.py +42 -0
- kiapi/core/memory/_schemas/framework_strategy.py +14 -0
- kiapi/core/memory/_schemas/memory_stats.py +24 -0
- kiapi/core/memory/_schemas/resident_model.py +14 -0
- kiapi/core/memory/_schemas/resident_model_stats.py +49 -0
- kiapi/core/memory/_services/memory_manager.py +257 -0
- kiapi/core/memory/_settings.py +36 -0
- kiapi/core/memory/_types/framework_name.py +4 -0
- kiapi/core/memory/_types/resident_key.py +4 -0
- kiapi/core/model/__init__.py +36 -0
- kiapi/core/model/_exceptions/unknown_model_error.py +2 -0
- kiapi/core/model/_schemas/model_spec.py +145 -0
- kiapi/core/model/_services/model_registry.py +85 -0
- kiapi/core/model/_types/model_alias.py +2 -0
- kiapi/core/model/_types/model_domain.py +6 -0
- kiapi/core/model/_types/model_family.py +5 -0
- kiapi/core/model/_types/model_key.py +8 -0
- kiapi/core/model/_types/model_name.py +4 -0
- kiapi/core/model/_types/model_repo.py +3 -0
- kiapi/core/net/__init__.py +16 -0
- kiapi/core/net/_exceptions/unsafe_url_error.py +7 -0
- kiapi/core/net/_helpers/verify_public_url.py +68 -0
- kiapi/core/net/_settings.py +28 -0
- kiapi/core/setup/__init__.py +25 -0
- kiapi/core/setup/_exceptions/setup_required_error.py +2 -0
- kiapi/core/setup/_schemas/docker_image_resource.py +37 -0
- kiapi/core/setup/_schemas/hf_snapshot_resource.py +50 -0
- kiapi/core/setup/_schemas/local_path_resource.py +43 -0
- kiapi/core/setup/_schemas/python_package_resource.py +58 -0
- kiapi/core/setup/_schemas/python_venv_resource.py +63 -0
- kiapi/core/setup/_schemas/setup_status.py +7 -0
- kiapi/core/setup/_schemas/url_file_resource.py +43 -0
- kiapi/core/setup/_services/setup_manager.py +331 -0
- kiapi/core/setup/_types/setup_resource.py +21 -0
- kiapi/core/setup/_types/setup_target.py +11 -0
- kiapi/core/workdir/__init__.py +8 -0
- kiapi/core/workdir/_helpers/create_work_dir.py +11 -0
- kiapi/core/workdir/_settings.py +21 -0
- kiapi/core/worker/__init__.py +23 -0
- kiapi/core/worker/_helpers/create_worker.py +9 -0
- kiapi/core/worker/_services/worker.py +165 -0
- kiapi/core/worker/_settings.py +36 -0
- kiapi/core/worker/_types/job_thunk.py +6 -0
- kiapi-0.1.0.dist-info/METADATA +337 -0
- kiapi-0.1.0.dist-info/RECORD +465 -0
- kiapi-0.1.0.dist-info/WHEEL +4 -0
- kiapi-0.1.0.dist-info/entry_points.txt +2 -0
- kiapi-0.1.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Protocol
|
|
3
|
+
from urllib.parse import quote
|
|
4
|
+
|
|
5
|
+
import click
|
|
6
|
+
from huggingface_hub import HfApi, get_token
|
|
7
|
+
from huggingface_hub.utils import (
|
|
8
|
+
GatedRepoError, # pyright: ignore
|
|
9
|
+
HfHubHTTPError, # pyright: ignore
|
|
10
|
+
LocalTokenNotFoundError, # pyright: ignore
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from kiapi.core.setup import HfSnapshotResource, SetupResource
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class ResourceStatusManager(Protocol):
|
|
17
|
+
def status(self, resource: SetupResource) -> object: ...
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@dataclass(frozen=True)
|
|
21
|
+
class HfAccessIssue:
|
|
22
|
+
repo: str
|
|
23
|
+
url: str
|
|
24
|
+
reason: str
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def preflight_hf_access(
|
|
28
|
+
resources: list[SetupResource],
|
|
29
|
+
manager: ResourceStatusManager,
|
|
30
|
+
*,
|
|
31
|
+
api: HfApi | None = None,
|
|
32
|
+
) -> None:
|
|
33
|
+
"""Fail early when selected gated Hugging Face snapshots are not accessible."""
|
|
34
|
+
|
|
35
|
+
hf_resources = [
|
|
36
|
+
resource for resource in resources if isinstance(resource, HfSnapshotResource)
|
|
37
|
+
]
|
|
38
|
+
if not hf_resources:
|
|
39
|
+
return
|
|
40
|
+
|
|
41
|
+
api = api or HfApi()
|
|
42
|
+
issues: list[HfAccessIssue] = []
|
|
43
|
+
for resource in hf_resources:
|
|
44
|
+
state = manager.status(resource)
|
|
45
|
+
if bool(getattr(state, "ready", False)):
|
|
46
|
+
continue
|
|
47
|
+
if not _is_gated_repo(api, resource):
|
|
48
|
+
continue
|
|
49
|
+
|
|
50
|
+
issue = _check_gated_repo_access(api, resource)
|
|
51
|
+
if issue is not None:
|
|
52
|
+
issues.append(issue)
|
|
53
|
+
|
|
54
|
+
if issues:
|
|
55
|
+
raise click.ClickException(_format_hf_access_issues(issues))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _is_gated_repo(api: HfApi, resource: HfSnapshotResource) -> bool:
|
|
59
|
+
info = api.model_info(
|
|
60
|
+
resource.repo,
|
|
61
|
+
revision=resource.revision,
|
|
62
|
+
token=False,
|
|
63
|
+
timeout=15,
|
|
64
|
+
)
|
|
65
|
+
return bool(getattr(info, "gated", False))
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def _check_gated_repo_access(
|
|
69
|
+
api: HfApi, resource: HfSnapshotResource
|
|
70
|
+
) -> HfAccessIssue | None:
|
|
71
|
+
url = _repo_url(resource.repo)
|
|
72
|
+
if not get_token():
|
|
73
|
+
return HfAccessIssue(
|
|
74
|
+
repo=resource.repo,
|
|
75
|
+
url=url,
|
|
76
|
+
reason="not authenticated",
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
try:
|
|
80
|
+
api.list_repo_files(
|
|
81
|
+
resource.repo,
|
|
82
|
+
revision=resource.revision,
|
|
83
|
+
repo_type="model",
|
|
84
|
+
token=True,
|
|
85
|
+
)
|
|
86
|
+
except LocalTokenNotFoundError:
|
|
87
|
+
return HfAccessIssue(
|
|
88
|
+
repo=resource.repo,
|
|
89
|
+
url=url,
|
|
90
|
+
reason="not authenticated",
|
|
91
|
+
)
|
|
92
|
+
except GatedRepoError:
|
|
93
|
+
return HfAccessIssue(
|
|
94
|
+
repo=resource.repo,
|
|
95
|
+
url=url,
|
|
96
|
+
reason="access has not been approved or terms have not been accepted",
|
|
97
|
+
)
|
|
98
|
+
except HfHubHTTPError as exc:
|
|
99
|
+
status_code = getattr(getattr(exc, "response", None), "status_code", None)
|
|
100
|
+
if status_code in {401, 403}:
|
|
101
|
+
return HfAccessIssue(
|
|
102
|
+
repo=resource.repo,
|
|
103
|
+
url=url,
|
|
104
|
+
reason="access has not been approved or terms have not been accepted",
|
|
105
|
+
)
|
|
106
|
+
raise
|
|
107
|
+
|
|
108
|
+
return None
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def _repo_url(repo: str) -> str:
|
|
112
|
+
return f"https://huggingface.co/{quote(repo, safe='/')}"
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def _format_hf_access_issues(issues: list[HfAccessIssue]) -> str:
|
|
116
|
+
repos = "\n".join(
|
|
117
|
+
f"- {issue.repo} ({issue.reason})\n {issue.url}" for issue in issues
|
|
118
|
+
)
|
|
119
|
+
return (
|
|
120
|
+
"Hugging Face access is required before activation.\n\n"
|
|
121
|
+
"Open the following repository page(s), accept the terms or request access, "
|
|
122
|
+
"then authenticate locally:\n\n"
|
|
123
|
+
f"{repos}\n\n"
|
|
124
|
+
"Authenticate with one of:\n\n"
|
|
125
|
+
" hf auth login\n\n"
|
|
126
|
+
"or:\n\n"
|
|
127
|
+
" export HF_TOKEN=hf_...\n\n"
|
|
128
|
+
"Then run `kiapi activate ...` again."
|
|
129
|
+
)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import click
|
|
2
|
+
|
|
3
|
+
from kiapi.cli import (
|
|
4
|
+
dedupe_resources,
|
|
5
|
+
register_all_capabilities,
|
|
6
|
+
run_resources,
|
|
7
|
+
select_specs,
|
|
8
|
+
)
|
|
9
|
+
from kiapi.core.setup import SetupManager
|
|
10
|
+
|
|
11
|
+
from ._operations.preflight_hf_access import preflight_hf_access
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@click.command()
|
|
15
|
+
@click.option("--all", "activate_all", is_flag=True, help="Activate all models")
|
|
16
|
+
@click.option("--domain", "domains", multiple=True, help="Activate domain")
|
|
17
|
+
@click.option("--family", "families", multiple=True, help="Activate family")
|
|
18
|
+
@click.option("--repo", "repos", multiple=True, help="Activate repo/image")
|
|
19
|
+
def activate(
|
|
20
|
+
activate_all: bool,
|
|
21
|
+
domains: tuple[str, ...],
|
|
22
|
+
families: tuple[str, ...],
|
|
23
|
+
repos: tuple[str, ...],
|
|
24
|
+
) -> None:
|
|
25
|
+
"""Download Hugging Face snapshots and pull Docker images."""
|
|
26
|
+
register_all_capabilities()
|
|
27
|
+
specs = select_specs(
|
|
28
|
+
all_selected=activate_all,
|
|
29
|
+
domains=domains,
|
|
30
|
+
families=families,
|
|
31
|
+
repos=repos,
|
|
32
|
+
interactive=True,
|
|
33
|
+
)
|
|
34
|
+
resources = dedupe_resources(specs)
|
|
35
|
+
manager = SetupManager()
|
|
36
|
+
preflight_hf_access(resources, manager)
|
|
37
|
+
run_resources("activate", resources, manager)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.acestep import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="short simple electronic tone",
|
|
16
|
+
lyrics="[Instrumental]",
|
|
17
|
+
duration=5,
|
|
18
|
+
inference_steps=1,
|
|
19
|
+
seed=1,
|
|
20
|
+
),
|
|
21
|
+
)
|
|
22
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.acestep import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="short simple electronic tone",
|
|
16
|
+
lyrics="[Instrumental]",
|
|
17
|
+
duration=5,
|
|
18
|
+
inference_steps=1,
|
|
19
|
+
seed=1,
|
|
20
|
+
),
|
|
21
|
+
)
|
|
22
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.audiogen import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="single soft beep",
|
|
16
|
+
duration=1.0,
|
|
17
|
+
seed=1,
|
|
18
|
+
top_k=1,
|
|
19
|
+
top_p=0.0,
|
|
20
|
+
temperature=1.0,
|
|
21
|
+
cfg_coef=3.0,
|
|
22
|
+
),
|
|
23
|
+
)
|
|
24
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from kiapi.capabilities.chat import ChatRequest, handle_chat
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._schemas.check_result import CheckResult
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
10
|
+
result, artifacts = handle_chat(
|
|
11
|
+
ctx,
|
|
12
|
+
ChatRequest(
|
|
13
|
+
model=spec.name,
|
|
14
|
+
messages=[{"role": "user", "content": "Reply with only: ok"}],
|
|
15
|
+
max_completion_tokens=4,
|
|
16
|
+
temperature=0.0,
|
|
17
|
+
),
|
|
18
|
+
)
|
|
19
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from kiapi.capabilities.chat import ChatRequest, handle_chat
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._schemas.check_result import CheckResult
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
10
|
+
result, artifacts = handle_chat(
|
|
11
|
+
ctx,
|
|
12
|
+
ChatRequest(
|
|
13
|
+
model=spec.name,
|
|
14
|
+
messages=[{"role": "user", "content": "Reply with only: ok"}],
|
|
15
|
+
max_completion_tokens=4,
|
|
16
|
+
temperature=0.0,
|
|
17
|
+
),
|
|
18
|
+
)
|
|
19
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from kiapi.capabilities.embedding import EmbedRequest, handle_embed
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._schemas.check_result import CheckResult
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
10
|
+
result, artifacts = handle_embed(
|
|
11
|
+
ctx,
|
|
12
|
+
EmbedRequest(model=spec.name, text="kiapi check"),
|
|
13
|
+
)
|
|
14
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from kiapi.capabilities.embedding import EmbedRequest, handle_embed
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._operations.create_sample_image import create_sample_image
|
|
7
|
+
from .._schemas.check_result import CheckResult
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
11
|
+
image_file_id = create_sample_image(ctx)
|
|
12
|
+
rec = ctx.file_store.get(image_file_id)
|
|
13
|
+
if rec is None:
|
|
14
|
+
raise RuntimeError("failed to create check input image")
|
|
15
|
+
result, artifacts = handle_embed(
|
|
16
|
+
ctx,
|
|
17
|
+
EmbedRequest(model=spec.name, image=rec.path),
|
|
18
|
+
)
|
|
19
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from kiapi.capabilities.depthpro import EstimateRequest, handle_estimate
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.file import FileIDRef
|
|
4
|
+
from kiapi.core.model import ModelSpec
|
|
5
|
+
|
|
6
|
+
from .._operations.build_check_result import build_check_result
|
|
7
|
+
from .._operations.create_sample_image import create_sample_image
|
|
8
|
+
from .._schemas.check_result import CheckResult
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
12
|
+
image_file_id = create_sample_image(ctx)
|
|
13
|
+
result, artifacts = handle_estimate(
|
|
14
|
+
ctx,
|
|
15
|
+
EstimateRequest(
|
|
16
|
+
model=spec.name,
|
|
17
|
+
image=FileIDRef(file_id=image_file_id),
|
|
18
|
+
include_depth_data=False,
|
|
19
|
+
),
|
|
20
|
+
)
|
|
21
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.ernie import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=1,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.ernie import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=1,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.flux2 import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=2,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.flux2 import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=2,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.flux2 import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=2,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.ideogram4 import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="simple word OK on a plain white card",
|
|
16
|
+
preset="V4_TURBO_12",
|
|
17
|
+
width=256,
|
|
18
|
+
height=256,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.file import FileIDRef
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._operations.create_sample_image import create_sample_image
|
|
7
|
+
from .._schemas.check_result import CheckResult
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
11
|
+
from kiapi.capabilities.qwen import EditRequest, handle_edit
|
|
12
|
+
|
|
13
|
+
image_file_id = create_sample_image(ctx)
|
|
14
|
+
result, artifacts = handle_edit(
|
|
15
|
+
ctx,
|
|
16
|
+
EditRequest(
|
|
17
|
+
model=spec.name,
|
|
18
|
+
prompt="make the object blue, keep the simple composition",
|
|
19
|
+
images=[FileIDRef(file_id=image_file_id)],
|
|
20
|
+
width=256,
|
|
21
|
+
height=256,
|
|
22
|
+
steps=1,
|
|
23
|
+
seed=1,
|
|
24
|
+
quality=90,
|
|
25
|
+
),
|
|
26
|
+
)
|
|
27
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.qwen import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=1,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.capabilities.seedvr2 import UpscaleRequest, handle_upscale
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.file import FileIDRef
|
|
4
|
+
from kiapi.core.model import ModelSpec
|
|
5
|
+
|
|
6
|
+
from .._operations.build_check_result import build_check_result
|
|
7
|
+
from .._operations.create_sample_image import create_sample_image
|
|
8
|
+
from .._schemas.check_result import CheckResult
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
12
|
+
image_file_id = create_sample_image(ctx, size=128)
|
|
13
|
+
result, artifacts = handle_upscale(
|
|
14
|
+
ctx,
|
|
15
|
+
UpscaleRequest(
|
|
16
|
+
model=spec.name,
|
|
17
|
+
image=FileIDRef(file_id=image_file_id),
|
|
18
|
+
resolution="2x",
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.capabilities.seedvr2 import UpscaleRequest, handle_upscale
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.file import FileIDRef
|
|
4
|
+
from kiapi.core.model import ModelSpec
|
|
5
|
+
|
|
6
|
+
from .._operations.build_check_result import build_check_result
|
|
7
|
+
from .._operations.create_sample_image import create_sample_image
|
|
8
|
+
from .._schemas.check_result import CheckResult
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
12
|
+
image_file_id = create_sample_image(ctx, size=128)
|
|
13
|
+
result, artifacts = handle_upscale(
|
|
14
|
+
ctx,
|
|
15
|
+
UpscaleRequest(
|
|
16
|
+
model=spec.name,
|
|
17
|
+
image=FileIDRef(file_id=image_file_id),
|
|
18
|
+
resolution="2x",
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.zimage import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=2,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from kiapi.core.app import AppContext
|
|
2
|
+
from kiapi.core.model import ModelSpec
|
|
3
|
+
|
|
4
|
+
from .._operations.build_check_result import build_check_result
|
|
5
|
+
from .._schemas.check_result import CheckResult
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
9
|
+
from kiapi.capabilities.zimage import GenerateRequest, handle_generate
|
|
10
|
+
|
|
11
|
+
result, artifacts = handle_generate(
|
|
12
|
+
ctx,
|
|
13
|
+
GenerateRequest(
|
|
14
|
+
model=spec.name,
|
|
15
|
+
prompt="a tiny blue cube on a white table",
|
|
16
|
+
width=256,
|
|
17
|
+
height=256,
|
|
18
|
+
steps=2,
|
|
19
|
+
seed=1,
|
|
20
|
+
quality=90,
|
|
21
|
+
),
|
|
22
|
+
)
|
|
23
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from kiapi.capabilities.ltx2 import GenerateRequest, handle_generate
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._schemas.check_result import CheckResult
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
10
|
+
result, artifacts = handle_generate(
|
|
11
|
+
ctx,
|
|
12
|
+
GenerateRequest(
|
|
13
|
+
model=spec.name,
|
|
14
|
+
prompt="a small blue cube rotating slowly",
|
|
15
|
+
width=256,
|
|
16
|
+
height=256,
|
|
17
|
+
num_frames=9,
|
|
18
|
+
fps=8,
|
|
19
|
+
seed=1,
|
|
20
|
+
image_strength=1.0,
|
|
21
|
+
end_image_strength=None,
|
|
22
|
+
generate_audio=False,
|
|
23
|
+
),
|
|
24
|
+
mode="T2V",
|
|
25
|
+
)
|
|
26
|
+
return build_check_result(spec, result, artifacts)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from kiapi.capabilities.web import FetchRequest, handle_fetch
|
|
2
|
+
from kiapi.core.app import AppContext
|
|
3
|
+
from kiapi.core.model import ModelSpec
|
|
4
|
+
|
|
5
|
+
from .._operations.build_check_result import build_check_result
|
|
6
|
+
from .._schemas.check_result import CheckResult
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def check(ctx: AppContext, spec: ModelSpec) -> CheckResult:
|
|
10
|
+
result, artifacts = handle_fetch(
|
|
11
|
+
ctx,
|
|
12
|
+
FetchRequest(url="https://example.com"),
|
|
13
|
+
)
|
|
14
|
+
return build_check_result(spec, result, artifacts)
|