sie-server 0.7.1__tar.gz → 0.7.3__tar.gz
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.
- {sie_server-0.7.1 → sie_server-0.7.3}/.gitignore +2 -36
- {sie_server-0.7.1 → sie_server-0.7.3}/CONTRIBUTING.md +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/Dockerfile.cpu +4 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/Dockerfile.cuda12 +14 -10
- {sie_server-0.7.1 → sie_server-0.7.3}/Dockerfile.cuda13 +34 -26
- {sie_server-0.7.1 → sie_server-0.7.3}/PKG-INFO +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/README.md +1 -1
- sie_server-0.7.3/bundles/ctranslate2.yaml +6 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/default.yaml +11 -2
- sie_server-0.7.1/bundles/gemma.yaml → sie_server-0.7.3/bundles/sglang-cu130.yaml +11 -11
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/sglang-embedding.yaml +2 -3
- sie_server-0.7.3/bundles/tensorrt-llm.yaml +37 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-multilingual-base.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-reranker-large.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/EmergentMethods__gliner_large_news-v2.1.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/GritLM__GritLM-7B.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Ihor__gliner-biomed-large-v1.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Linq-AI-Research__Linq-Embed-Mistral.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/MoritzLaurer__ModernBERT-base-zeroshot-v2.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/MoritzLaurer__deberta-v3-base-zeroshot-v2.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/MoritzLaurer__deberta-v3-large-zeroshot-v2.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/NovaSearch__stella_en_400M_v5.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-0.6B.yaml +7 -10
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-4B-Instruct-2507.yaml +1 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3.5-4B.yaml +5 -7
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3.6-27B.yaml +7 -8
- sie_server-0.7.3/models/Qwen__Qwen3.8-27B-FP8.yaml +360 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Salesforce__SFR-Embedding-2_R.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Salesforce__SFR-Embedding-Mistral.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/cross-encoder__ms-marco-MiniLM-L-12-v2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/cross-encoder__nli-deberta-v3-base.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/defog__sqlcoder-7b-2.yaml +1 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/models/facebook__bart-large-mnli.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/gliner-community__gliner_large-v2.5.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/gliner-community__gliner_medium-v2.5.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-26B-A4B-it.yaml +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-31B-it.yaml +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-E2B-it.yaml +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-E4B-it.yaml +2 -2
- sie_server-0.7.3/models/google__madlad400-3b-mt.yaml +42 -0
- sie_server-0.7.3/models/google__siglip-base-patch16-256.yaml +26 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__siglip-so400m-patch14-224.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-english-r2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-small-english-r2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-large-v2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-mistral-7b-instruct.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__multilingual-e5-large-instruct.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__multilingual-e5-large.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__multilingual-e5-small.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jackboyla__glirel-large-v0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-base-v1.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-small-v1.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliner-bi-base-v2.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__modern-gliner-bi-base-v1.0.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/microsoft__Florence-2-base.yaml +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-rerank-large-v2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/naver-clova-ix__donut-base-finetuned-cord-v2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/naver-clova-ix__donut-base-finetuned-docvqa.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/naver__splade-cocondenser-selfdistil.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/naver__splade-v3.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nomic-ai__modernbert-embed-base.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/numind__NuNER_Zero-span.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__llama-nemoretriever-colembed-3b-v1.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__nemotron-colembed-vl-4b-v2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/openai__clip-vit-large-patch14.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v2-distill.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v2-mini.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-v1.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-v2-distill.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/rasyosef__splade-mini.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/sentence-transformers__all-MiniLM-L6-v2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_large-v2.1.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_medium-v2.1.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/vidore__colpali-v1.3-hf.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/vidore__colqwen2.5-v0.2.yaml +1 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/openapi.json +342 -14
- {sie_server-0.7.1 → sie_server-0.7.3}/pyproject.toml +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_generation_base.py +490 -21
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/clip/__init__.py +49 -27
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colpali/__init__.py +29 -23
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colqwen2/__init__.py +22 -15
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colqwen3/__init__.py +12 -14
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colsmol/__init__.py +12 -14
- sie_server-0.7.3/src/sie_server/adapters/ctranslate2/generation.py +742 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/docling/adapter.py +24 -5
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/donut/__init__.py +8 -10
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/florence2/__init__.py +8 -10
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliclass/__init__.py +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/glm_ocr/__init__.py +8 -9
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/grounding_dino/adapter.py +6 -9
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/lighton_ocr/adapter.py +8 -9
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/mineru_vl/__init__.py +8 -9
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/mlx/_server.py +16 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/mlx/generation.py +63 -39
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nemo_colembed/__init__.py +6 -11
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/owlv2/adapter.py +6 -9
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/paddleocr_vl/__init__.py +8 -9
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen3_vl_embedding/__init__.py +15 -18
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen3_vl_reranker/adapter.py +4 -13
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/_server.py +141 -8
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/embedding.py +61 -12
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/gemma.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/generation.py +188 -116
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang_vision_extract/adapter.py +3 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/siglip/adapter.py +42 -23
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/st_sparse_vision/adapter.py +6 -10
- sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/_compat/sitecustomize.py +13 -0
- sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/_server.py +221 -0
- sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/compat.py +188 -0
- sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/generation.py +777 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/encode.py +52 -19
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/extract.py +10 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/generate.py +226 -39
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/health.py +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/helpers.py +165 -8
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/models.py +4 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_compat.py +188 -33
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_completions.py +125 -34
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_local.py +61 -6
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_responses.py +32 -12
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/score.py +12 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/serialization.py +4 -8
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/app/app_state_config.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/cli.py +65 -5
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/config/engine.py +15 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/config/model.py +61 -3
- sie_server-0.7.3/src/sie_server/config/serving_artifacts.py +574 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/batcher.py +76 -16
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/disk_cache.py +74 -18
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/extract_cost.py +7 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/loader.py +34 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/logging.py +65 -6
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/model_loader.py +64 -1
- sie_server-0.7.3/src/sie_server/core/model_suggestions.py +87 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/prepared.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/image.py +43 -30
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/vision.py +22 -24
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/registry.py +256 -27
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/video_frames.py +9 -10
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/model_worker.py +278 -22
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/types.py +80 -15
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/ipc_server.py +67 -24
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/worker_telemetry.py +30 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/streaming.py +374 -184
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/tool_call_grammar.py +1 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/tool_call_parser.py +18 -4
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/queue_executor.py +14 -5
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/inputs.py +59 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/openapi.py +113 -3
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/requests.py +5 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/responses.py +22 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_adapter_revision_contract.py +18 -6
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_bge_m3_flash.py +2 -2
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_clip.py +29 -0
- sie_server-0.7.3/tests/adapters/test_colqwen2_revision.py +56 -0
- sie_server-0.7.3/tests/adapters/test_ctranslate2_generation.py +510 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_docling.py +31 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_docling_smoke.py +71 -24
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_donut.py +27 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_florence2.py +2 -1
- sie_server-0.7.3/tests/adapters/test_generation_base.py +619 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_grounding_dino.py +23 -0
- sie_server-0.7.3/tests/adapters/test_image_decode_errors.py +56 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_lora_integration.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_mlx_generation.py +102 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_owlv2.py +23 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_qwen3_vl_embedding.py +16 -4
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_qwen3_vl_reranker.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_runtime_options.py +3 -3
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sglang.py +255 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sglang_generation.py +248 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sglang_vision_extract.py +76 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_siglip.py +74 -0
- sie_server-0.7.3/tests/adapters/test_siglip_integration.py +187 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_st_sparse_vision.py +20 -0
- sie_server-0.7.3/tests/adapters/test_tensorrt_llm_compat.py +504 -0
- sie_server-0.7.3/tests/adapters/test_tensorrt_llm_generation.py +1393 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_dtype.py +12 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_endpoint.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_validation.py +43 -0
- sie_server-0.7.3/tests/api/test_error_code_hygiene.py +281 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_extract.py +38 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_extract_integration.py +1 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_extract_oom.py +5 -3
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_generate.py +402 -3
- sie_server-0.7.3/tests/api/test_generate_stream.py +650 -0
- sie_server-0.7.3/tests/api/test_generation_cleanup_precedence.py +223 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_models.py +3 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_compat.py +207 -7
- sie_server-0.7.3/tests/api/test_openai_completions.py +722 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_local.py +204 -23
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_responses.py +182 -11
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_score.py +55 -0
- sie_server-0.7.3/tests/api/test_usage_reporting.py +224 -0
- sie_server-0.7.3/tests/config/test_qwen38_generation_profiles.py +165 -0
- sie_server-0.7.3/tests/config/test_serving_artifact_config.py +166 -0
- sie_server-0.7.3/tests/config/test_serving_artifacts.py +355 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/conftest.py +2 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_batcher.py +69 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_disk_cache.py +147 -0
- sie_server-0.7.3/tests/core/test_encode_worker_batching.py +299 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_load_rgb.py +11 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_loader.py +111 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_logging.py +136 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_model_load_timeout.py +1 -1
- sie_server-0.7.3/tests/core/test_model_loader_cache.py +275 -0
- sie_server-0.7.3/tests/core/test_model_suggestions.py +87 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_preprocessor.py +86 -11
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_failed_state.py +1 -1
- sie_server-0.7.3/tests/core/test_registry_generation_drain.py +302 -0
- sie_server-0.7.3/tests/core/test_registry_lifecycle_loop.py +180 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_memory.py +86 -0
- sie_server-0.7.3/tests/core/test_unload_off_event_loop.py +186 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_video_frames.py +0 -20
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_core.py +253 -0
- sie_server-0.7.3/tests/core/test_worker_drain.py +414 -0
- sie_server-0.7.3/tests/fake_stack/test_model_loading_race.py +125 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_registry_races.py +39 -22
- sie_server-0.7.3/tests/observability/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_generation_diagnostics.py +6 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_worker_telemetry.py +1 -0
- sie_server-0.7.3/tests/processors/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_streaming.py +918 -18
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_tool_call_parser.py +55 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_all_models.py +1 -1
- sie_server-0.7.3/tests/test_cli_log_level.py +92 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_docker_integration.py +0 -2
- sie_server-0.7.3/tests/test_documented_model_ids.py +101 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_ipc_server.py +272 -7
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_metering_units.py +3 -1
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_model_yaml_filenames.py +10 -12
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_openapi_export.py +56 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_sparse_integration.py +1 -1
- sie_server-0.7.3/tests/type_defs/__init__.py +0 -0
- sie_server-0.7.3/tests/type_defs/test_decode_image.py +87 -0
- sie_server-0.7.1/tests/adapters/test_generation_base.py +0 -275
- sie_server-0.7.1/tests/api/test_generate_stream.py +0 -229
- sie_server-0.7.1/tests/api/test_openai_completions.py +0 -362
- sie_server-0.7.1/tests/core/test_model_loader_cache.py +0 -72
- sie_server-0.7.1/tests/fake_stack/test_model_loading_race.py +0 -85
- {sie_server-0.7.1 → sie_server-0.7.3}/LICENSE +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/candle.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/fake.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/sglang-vision-extract.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/sglang.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/bundles/transformers5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-Qwen2-1.5B-instruct.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-Qwen2-7B-instruct.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-modernbert-base.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-reranker-modernbert-base.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-base-en-v1.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-large-en-v1.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-m3.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-reranker-base.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-reranker-v2-m3.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-small-en-v1.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-small-zh-v1.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/IDEA-Research__grounding-dino-base.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/IDEA-Research__grounding-dino-tiny.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Marqo__marqo-ecommerce-embeddings-B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Marqo__marqo-fashionSigLIP.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/NeuML__gliner-bert-tiny.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/NovaSearch__stella_en_1.5B_v5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/PaddlePaddle__PaddleOCR-VL-1.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Embedding-0.6B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Embedding-4B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Embedding-8B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Reranker-0.6B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Reranker-4B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-VL-Embedding-2B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-VL-Reranker-2B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3.6-35B-A3B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Snowflake__snowflake-arctic-embed-l-v2.0.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Snowflake__snowflake-arctic-embed-m-v2.0.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/Snowflake__snowflake-arctic-embed-s.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/TomoroAI__tomoro-colqwen3-embed-4b.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/WhereIsAI__UAE-Large-V1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/answerdotai__ModernBERT-base.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/answerdotai__ModernBERT-large.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/answerdotai__answerai-colbert-small-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/colbert-ir__colbertv2.0.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/cross-encoder__ms-marco-MiniLM-L-6-v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/docling.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/fastino__gliguard-LLMGuardrails-300M.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/fastino__gliner2-base-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/fastino__gliner2-large-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/gliner-community__gliner_small-v2.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__embeddinggemma-300m.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__owlv2-base-patch16-ensemble.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__owlv2-large-patch14-ensemble.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__siglip-so400m-patch14-384.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/google__siglip2-base-patch16-224.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-30m-sparse.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-97m-multilingual-r2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-guardian-3.0-2b.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-base-v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-small-v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-colbert-v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-code.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-de.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-en.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-es.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-zh.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-small-en.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-reranker-v2-base-multilingual.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-large-v1.0.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-large-v3.0.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/laion__CLIP-ViT-B-32-laion2B-s34B-b79K.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/laion__CLIP-ViT-H-14-laion2B-s32B-b79K.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__GTE-ModernColBERT-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__LightOnOCR-2-1B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__Reason-ModernColBERT.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__mLateOn.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/microsoft__Florence-2-base-ft.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/microsoft__Florence-2-large.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-colbert-large-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-edge-colbert-v0-32m.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-embed-large-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-rerank-base-v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/mynkchaudhry__Florence-2-FT-DocVQA.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/naver__v-splade-quality.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nomic-ai__nomic-embed-text-v1.5.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nomic-ai__nomic-embed-text-v2-moe.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/numind__NuNER_Zero.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__NV-Embed-v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__llama-embed-nemotron-8b.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/openai__clip-vit-base-patch32.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/openai__whisper-large-v3-turbo.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opendatalab__MinerU2.5-Pro-2604-1.2B.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v3-distill.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v3-gte.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/prithivida__Splade_PP_en_v2.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/sie-fake.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/sugiv__stablebridge-pruner-highlighter.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/tencent__R3-embedding-0.6b.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/tencent__R3-rerank-0.6b.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/thenlper__gte-base.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/thenlper__gte-large.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/thenlper__gte-small.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/topk-io__Iso-ModernColBERT.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_multi-v2.1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_multi_pii-v1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_small-v2.1.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/vidore__colSmol-256M.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/models/zai-org__GLM-OCR.yaml +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/scripts/generate_tokenize_fixture.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/_ipc_test_harness.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapter_call_loop.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_base_adapter.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_colbert_projection.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_colbert_utils.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_flash_base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_flash_pack.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_multivector.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_pylate_dense.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_spec.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_types.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_utils.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_vision_patch_embed.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bert_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bert_flash_cross_encoder/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3_flag/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3_score_mixin.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert_modernbert_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert_modernbert_flash/adapter.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert_rotary_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/cross_encoder/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/docling → sie_server-0.7.3/src/sie_server/adapters/ctranslate2}/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/fake → sie_server-0.7.3/src/sie_server/adapters/docling}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/errors.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/gliner2 → sie_server-0.7.3/src/sie_server/adapters/fake}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/fake/adapter.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/grounding_dino → sie_server-0.7.3/src/sie_server/adapters/gliner2}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner2/adapter.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner2/classification.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner_bi/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/glirel/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/lighton_ocr → sie_server-0.7.3/src/sie_server/adapters/grounding_dino}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gte_sparse_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/jina_flash_cross_encoder/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/mlx → sie_server-0.7.3/src/sie_server/adapters/lighton_ocr}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/lora.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/owlv2 → sie_server-0.7.3/src/sie_server/adapters/mlx}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/modernbert_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/modernbert_flash_cross_encoder/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nli_classification/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nli_classification_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nomic_flash/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/qwen2_flash_cross_encoder → sie_server-0.7.3/src/sie_server/adapters/owlv2}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/peft_lora_mixin.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/pytorch_embedding/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen2_flash/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/qwen3_vl_reranker → sie_server-0.7.3/src/sie_server/adapters/qwen2_flash_cross_encoder}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen2_flash_cross_encoder/adapter.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/sglang → sie_server-0.7.3/src/sie_server/adapters/qwen3_vl_reranker}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/rope_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sentence_transformer/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/sglang/_compat → sie_server-0.7.3/src/sie_server/adapters/sglang}/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/sglang_vision_extract → sie_server-0.7.3/src/sie_server/adapters/sglang/_compat}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/_compat/sitecustomize.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/cuda13.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/sglang_vision_extract/_compat → sie_server-0.7.3/src/sie_server/adapters/sglang_vision_extract}/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/siglip → sie_server-0.7.3/src/sie_server/adapters/sglang_vision_extract/_compat}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang_vision_extract/_compat/sitecustomize.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/splade_flash → sie_server-0.7.3/src/sie_server/adapters/siglip}/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/st_sparse_vision → sie_server-0.7.3/src/sie_server/adapters/splade_flash}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/splade_flash/adapter.py +0 -0
- {sie_server-0.7.1/src/sie_server/adapters/whisper → sie_server-0.7.3/src/sie_server/adapters/st_sparse_vision}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/stablebridge_pruner/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/app → sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm}/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/config → sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/_compat}/__init__.py +0 -0
- {sie_server-0.7.1/src/sie_server/health → sie_server-0.7.3/src/sie_server/adapters/whisper}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/whisper/adapter.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/xlm_roberta_flash/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_audio.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openapi.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/options.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/root.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/validation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/ws.py +0 -0
- {sie_server-0.7.1/src/sie_server/observability → sie_server-0.7.3/src/sie_server/app}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/app/app_factory.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/bundle_requirements.py +0 -0
- {sie_server-0.7.1/src/sie_server/processors → sie_server-0.7.3/src/sie_server/config}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/config/package_artifacts.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/adaptive_batching.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/deps.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/encode_pipeline.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/gpu_health.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/hf_env.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/hot_reload.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/inference.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/inference_output.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/load_errors.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/memory.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/oom.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/pool_isolation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/postprocessor.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/postprocessor_registry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/audio.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/text.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor_registry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/readiness.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/residency.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/runtime_options.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/score_cost.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/shutdown.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/text_tokens.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/timing.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/tokenizer.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/watcher.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/encode.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/extract.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/score.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/oom_recovery.py +0 -0
- {sie_server-0.7.1/tests/adapters → sie_server-0.7.3/src/sie_server/health}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/health/saturation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/ipc_types.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/local_ingest_client.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/main.py +0 -0
- {sie_server-0.7.1/tests/api → sie_server-0.7.3/src/sie_server/observability}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/generation_diagnostics.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/gpu.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/telemetry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/tracing.py +0 -0
- {sie_server-0.7.1/tests/app → sie_server-0.7.3/src/sie_server/processors}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/admission.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/grammar_cache.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/grammar_compile.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/work_class_scheduler.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/grammar.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/outputs.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/overflow_policy.py +0 -0
- {sie_server-0.7.1/tests/config → sie_server-0.7.3/tests/adapters}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_bge_m3.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_modernbert_flash_projection.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_modernbert_flash_tokenizer.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_projection.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_punctuation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_factory_integration.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_fake.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_fake_catalog.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_fake_faults.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_flash_base.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_flash_pack.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliclass_contracts.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliclass_overflow_policy.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliner2.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliner_merge.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliner_metering.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_glirel.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_glm_ocr.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gte_sparse.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_jina_flash_cross_encoder.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_lighton_ocr.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_lora.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_mineru_vl.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_multivector.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_paddleocr_vl.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_pylate_dense.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_pytorch_embedding_model_encode.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_pytorch_embedding_revision.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_qwen2_flash_cross_encoder.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sentence_transformer.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sparse_aggregation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_splade_flash_parity.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_splade_packed_parity.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_splade_roberta_position_ids.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_stablebridge_integration.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_stablebridge_pruner.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_vision_patch_embed.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_visual_document.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_visual_muvera_postprocessors.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_whisper.py +0 -0
- {sie_server-0.7.1/tests/core → sie_server-0.7.3/tests/api}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_canonical_profile_conformance.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_dtype_queue_http_parity.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_json_schema.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_timing.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_health.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_helpers_telemetry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_audio.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_version_header.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_ws.py +0 -0
- {sie_server-0.7.1/tests/core/worker → sie_server-0.7.3/tests/app}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/app/test_app_factory.py +0 -0
- {sie_server-0.7.1/tests/fake_stack → sie_server-0.7.3/tests/config}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_answerai_colbert_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_bundle_coverage.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_colbertv2_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_config.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_generation_mode_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_gte_modern_colbert_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_h100_fp8_generation_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_jina_colbert_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_model_prewarm_grammars.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_muvera_profile_postprocessors.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_mxbai_colbert_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_mxbai_edge_colbert_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_nvidia_nemo_colembed_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_package_artifacts.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_profile_backend_consistency.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_profile_template_inheritance.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_qwen_generation_profiles.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_visual_muvera_containment.py +0 -0
- {sie_server-0.7.1/tests/health → sie_server-0.7.3/tests/core}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_adaptive_batching.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_bundle_requirements.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_encode_format_output.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_gpu_health.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_hot_reload.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_idle_evict.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_inference.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_lora_generation_exclusion.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_memory.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_memory_synthetic.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_oom_detection.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_pool_isolation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_postprocessor.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_postprocessor_registry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_prepared.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_preprocessor_registry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_quantization.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_readiness.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_async.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_core.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_deps.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_multi_model.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_residency.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_revision_identity.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_runtime_options.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_shutdown.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_timing.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_watcher.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_backpressure.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_extract.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_lora.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_options.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_preformed.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_score.py +0 -0
- {sie_server-0.7.1/tests/integration → sie_server-0.7.3/tests/core/worker}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/worker/test_oom_recovery.py +0 -0
- {sie_server-0.7.1/tests/observability → sie_server-0.7.3/tests/fake_stack}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/conftest.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_lost_result.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_oom_ladder.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_sdk_surface.py +0 -0
- {sie_server-0.7.1/tests/processors → sie_server-0.7.3/tests/health}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/health/test_saturation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/health/test_worker_id_consistency.py +0 -0
- {sie_server-0.7.1/tests/type_defs → sie_server-0.7.3/tests/integration}/__init__.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/integration/test_chat_completions.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/integration/test_grammar_generate.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_telemetry.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_trace_propagation.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_tracing.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_worker_telemetry_benchmark.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_grammar_cache.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_grammar_compile.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_grammar_prewarm.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_streaming_admission.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_streaming_integration.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_tool_call_grammar.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_work_class_scheduler.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_adapter_call_loop.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_cli_devices.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_cli_pool.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_decode_item.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_ipc_types_raw_output.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_local_ingest_client.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_parity_run_batch.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_queue_executor.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_queue_executor_stage1d.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_readiness.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_sdk_integration.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_server_process_fixture.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_server_smoke.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_stage1d_byte_identity.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_inputs.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_inputs_json_decode.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_media_bytes.py +0 -0
- {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_types.py +0 -0
|
@@ -142,10 +142,8 @@ celerybeat.pid
|
|
|
142
142
|
|
|
143
143
|
# Environments
|
|
144
144
|
.env
|
|
145
|
-
#
|
|
146
|
-
|
|
147
|
-
# repo (audit §1/§14). Belt-and-braces so a local copy can never be committed.
|
|
148
|
-
*.sie-cloud-secrets.env
|
|
145
|
+
# Local service credential bundles must never be committed.
|
|
146
|
+
*-secrets.env
|
|
149
147
|
.env.cloud
|
|
150
148
|
.venv
|
|
151
149
|
env/
|
|
@@ -244,33 +242,6 @@ override.tf.json
|
|
|
244
242
|
# tfvars files may contain secrets
|
|
245
243
|
*.tfvars
|
|
246
244
|
*.tfvars.json
|
|
247
|
-
# Reviewed worker-AMI release contracts contain only immutable public package,
|
|
248
|
-
# AMI, and Terraform backend coordinates; the release workflow accepts only
|
|
249
|
-
# committed files from this exact internal path.
|
|
250
|
-
!deploy/terraform/aws/internal-examples/cloud-benchmark-runner/worker-ami/releases/*.tfvars.json
|
|
251
|
-
# Exception: this edge tfvars carries only a Secrets Manager ARN (a resource
|
|
252
|
-
# identifier, not a secret) so the staging-us edge apply needs no manual -var.
|
|
253
|
-
!deploy/cloud/terraform/aws-edge/staging-us.tfvars
|
|
254
|
-
# This dev adoption contract contains only public AWS resource identifiers; it
|
|
255
|
-
# is checked in so a reviewed plan cannot silently target a different orphan
|
|
256
|
-
# VPC/listener through an operator-local tfvars file.
|
|
257
|
-
!deploy/cloud/terraform/dev-controlplane-https-adoption/dev-us.tfvars
|
|
258
|
-
!deploy/cloud/terraform/dev-controlplane-https-adoption/.terraform.lock.hcl
|
|
259
|
-
# Managed release roots commit their exact provider selections. Release
|
|
260
|
-
# preflights and applies use these read-only instead of selecting a newer
|
|
261
|
-
# compatible provider during a long-running deployment.
|
|
262
|
-
!deploy/cloud/terraform/release-infrastructure/.terraform.lock.hcl
|
|
263
|
-
!deploy/cloud/terraform/aws-controlplane/.terraform.lock.hcl
|
|
264
|
-
!deploy/cloud/terraform/aws-edge/.terraform.lock.hcl
|
|
265
|
-
!deploy/cloud/terraform/s3-state/.terraform.lock.hcl
|
|
266
|
-
!deploy/cloud/terraform/vercel/.terraform.lock.hcl
|
|
267
|
-
!deploy/cloud/terraform/console-preview/.terraform.lock.hcl
|
|
268
|
-
!deploy/cloud/terraform/examples/dev/.terraform.lock.hcl
|
|
269
|
-
!deploy/cloud/terraform/examples/dev-eu/.terraform.lock.hcl
|
|
270
|
-
!deploy/cloud/terraform/examples/staging/.terraform.lock.hcl
|
|
271
|
-
!deploy/cloud/terraform/examples/staging-eu/.terraform.lock.hcl
|
|
272
|
-
!deploy/cloud/terraform/examples/prod-us/.terraform.lock.hcl
|
|
273
|
-
# Keep .terraform.lock.hcl for reproducibility (provider versions)
|
|
274
245
|
|
|
275
246
|
# Node.js
|
|
276
247
|
node_modules/
|
|
@@ -294,12 +265,7 @@ tmp/
|
|
|
294
265
|
.tmp/
|
|
295
266
|
.local/
|
|
296
267
|
|
|
297
|
-
.requirements-modal.txt
|
|
298
|
-
.mpa-i6pn-*-requirements-modal.txt
|
|
299
268
|
b6_results.json
|
|
300
|
-
# Raw dev-cloud load-test reports are local artifacts, not source-controlled baselines.
|
|
301
|
-
packages/sie_cloud/bench/results/dev-us-*/
|
|
302
|
-
|
|
303
269
|
# Personal mise overrides (per-developer toolchain tweaks, e.g. rustup
|
|
304
270
|
# component naming differences across rustup versions).
|
|
305
271
|
mise.local.toml
|
|
@@ -14,12 +14,12 @@ mise trust && mise install
|
|
|
14
14
|
## Running Tests
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
mise run test packages/sie_server
|
|
17
|
+
mise run test -- packages/sie_server
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
## Code Style
|
|
21
21
|
|
|
22
|
-
- Format with `mise run lint -f`
|
|
22
|
+
- Format with `mise run lint -- -f`
|
|
23
23
|
- Type check with `mise run typecheck`
|
|
24
24
|
|
|
25
25
|
## Pull Requests
|
|
@@ -101,8 +101,10 @@ RUN --mount=type=cache,target=/root/.cache/pip \
|
|
|
101
101
|
# shared-deps resolver.
|
|
102
102
|
RUN .venv/bin/python -c "import sie_audio_prep, torch; print(torch.__version__)"
|
|
103
103
|
|
|
104
|
-
# Register bundle-libs
|
|
105
|
-
|
|
104
|
+
# Register bundle-libs as a site directory so dependency-owned .pth files are
|
|
105
|
+
# processed, then move every discovered bundle path ahead of the shared venv so
|
|
106
|
+
# bundle versions shadow it. Content is identical across bundles.
|
|
107
|
+
RUN echo "import site, sys; _sie_bundle_start = len(sys.path); site.addsitedir('/app/bundle-libs'); sys.path[:] = sys.path[_sie_bundle_start:] + sys.path[:_sie_bundle_start]" \
|
|
106
108
|
> /app/.venv/lib/python3.12/site-packages/_sie_bundle.pth
|
|
107
109
|
|
|
108
110
|
# .venv cleanup + stdlib trim — runs here so /app/.venv reaches its final
|
|
@@ -110,12 +110,12 @@ RUN --mount=type=cache,target=/root/.cache/pip \
|
|
|
110
110
|
# intentionally not imported here.
|
|
111
111
|
RUN .venv/bin/python -c "import sie_audio_prep, torch; print(torch.__version__)"
|
|
112
112
|
|
|
113
|
-
# Register bundle-libs
|
|
114
|
-
# interpreter startup.
|
|
115
|
-
#
|
|
116
|
-
#
|
|
117
|
-
#
|
|
118
|
-
RUN echo "import sys; sys.path.
|
|
113
|
+
# Register bundle-libs as a site directory so dependency-owned .pth files are
|
|
114
|
+
# processed at interpreter startup. Then move every discovered bundle path
|
|
115
|
+
# ahead of the shared venv so bundle-specific versions SHADOW it (required for
|
|
116
|
+
# the transformers5 bundle). Content is identical for every bundle, so writing
|
|
117
|
+
# it here keeps the shared venv layer byte-identical.
|
|
118
|
+
RUN echo "import site, sys; _sie_bundle_start = len(sys.path); site.addsitedir('/app/bundle-libs'); sys.path[:] = sys.path[_sie_bundle_start:] + sys.path[:_sie_bundle_start]" \
|
|
119
119
|
> /app/.venv/lib/python3.12/site-packages/_sie_bundle.pth
|
|
120
120
|
|
|
121
121
|
# Conservative venv cleanup — only things known to be runtime-safe. Keep
|
|
@@ -165,7 +165,7 @@ RUN .venv/bin/python -m sie_server.cli resolve-deps \
|
|
|
165
165
|
#
|
|
166
166
|
# Per-bundle CUDA wheel index. SGLang's sgl-kernel/flashinfer wheels live on the
|
|
167
167
|
# docs.sglang.ai cu129 index (not PyPI), so the SGLang-family bundles add it.
|
|
168
|
-
# The
|
|
168
|
+
# The sglang-cu130 bundle (sglang 0.5.13 / torch 2.11 / cu130, CUDA 13) is built by the
|
|
169
169
|
# separate ``cuda13`` platform — see Dockerfile.cuda13 — not here.
|
|
170
170
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
171
171
|
--mount=type=cache,target=/root/.cache/uv \
|
|
@@ -210,15 +210,17 @@ RUN set -eux; \
|
|
|
210
210
|
# smaller CUDA base runtime; SGLang-family bundles need the devel toolkit
|
|
211
211
|
# because flashinfer/tvm_ffi perform runtime JIT through nvcc on first decode.
|
|
212
212
|
FROM nvidia/cuda:12.4.1-base-ubuntu22.04 AS runtime-default
|
|
213
|
+
# The CTranslate2 bundle uses the CUDA runtime image, not the devel toolchain.
|
|
214
|
+
FROM nvidia/cuda:12.4.1-runtime-ubuntu22.04 AS runtime-ctranslate2
|
|
213
215
|
FROM nvidia/cuda:12.4.1-base-ubuntu22.04 AS runtime-transformers5
|
|
214
216
|
FROM nvidia/cuda:12.9.1-cudnn-devel-ubuntu22.04 AS runtime-sglang
|
|
215
217
|
ENV CUDA_HOME=/usr/local/cuda \
|
|
216
218
|
LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
|
|
217
219
|
FROM runtime-sglang AS runtime-sglang-embedding
|
|
218
220
|
FROM runtime-sglang AS runtime-sglang-vision-extract
|
|
219
|
-
# NOTE: the
|
|
221
|
+
# NOTE: the sglang-cu130 bundle (CUDA 13 / sglang 0.5.13 / torch 2.11 cu130) is built by
|
|
220
222
|
# the separate ``cuda13`` platform — packages/sie_server/Dockerfile.cuda13 — so
|
|
221
|
-
# this CUDA-12 image never produces a (mislabelled) CUDA-13 ``cuda12-
|
|
223
|
+
# this CUDA-12 image never produces a (mislabelled) CUDA-13 ``cuda12-sglang-cu130``
|
|
222
224
|
# image. See #1415.
|
|
223
225
|
|
|
224
226
|
FROM runtime-${BUNDLE} AS runtime
|
|
@@ -294,7 +296,8 @@ COPY --link --from=base --chown=1000:1000 /app/bundles /app/bundles
|
|
|
294
296
|
# A `.pth` file in the shared venv puts /app/bundle-libs at sys.path[0] at startup.
|
|
295
297
|
COPY --link --from=builder --chown=1000:1000 /app/bundle-libs /app/bundle-libs
|
|
296
298
|
|
|
297
|
-
RUN mkdir -p /app/evals /app/.cache/huggingface
|
|
299
|
+
RUN mkdir -p /app/evals /app/.cache/huggingface /app/.cache/sie-kernels \
|
|
300
|
+
&& chown -R sie:sie /app/evals /app/.cache
|
|
298
301
|
|
|
299
302
|
# Declare the BUNDLE arg only here, where it is first used (LABEL + ENV),
|
|
300
303
|
# so every RUN/COPY layer above is bundle-agnostic in its cache key and the
|
|
@@ -309,6 +312,7 @@ ENV PATH="/app/.venv/bin:$PATH" \
|
|
|
309
312
|
PYTHONUNBUFFERED=1 \
|
|
310
313
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
311
314
|
HF_HOME=/app/.cache/huggingface \
|
|
315
|
+
SIE_SGLANG_KERNEL_CACHE_ROOT=/app/.cache/sie-kernels \
|
|
312
316
|
NVIDIA_VISIBLE_DEVICES=all \
|
|
313
317
|
NVIDIA_DRIVER_CAPABILITIES=compute,utility \
|
|
314
318
|
SIE_BUNDLE="${BUNDLE}"
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# syntax=docker/dockerfile:1
|
|
2
|
-
# SIE Server - CUDA 13 Image (
|
|
2
|
+
# SIE Server - CUDA 13 Image (engine-isolated cu130 bundles)
|
|
3
3
|
# Build from repo root:
|
|
4
|
-
# docker build -f packages/sie_server/Dockerfile.cuda13 --build-arg BUNDLE=
|
|
4
|
+
# docker build -f packages/sie_server/Dockerfile.cuda13 --build-arg BUNDLE=sglang-cu130 -t sie-server:cuda13-sglang-cu130 .
|
|
5
5
|
#
|
|
6
|
-
# WHY A SEPARATE PLATFORM:
|
|
7
|
-
#
|
|
8
|
-
# (
|
|
9
|
-
#
|
|
10
|
-
# Dockerfile.cuda12 means a ``cuda13-gemma`` image is honestly labelled CUDA 13,
|
|
11
|
-
# not a CUDA-13 image hiding under a ``cuda12-*`` tag (see #1415).
|
|
6
|
+
# WHY A SEPARATE PLATFORM: CUDA 13 engines carry independent exact Torch,
|
|
7
|
+
# Transformers, FlashInfer, and native-library closures. Keeping them here
|
|
8
|
+
# (platform ``cuda13``) instead of Dockerfile.cuda12 makes image tags honest
|
|
9
|
+
# while still sharing the expensive CUDA 13 base layers.
|
|
12
10
|
#
|
|
13
11
|
# STRUCTURE: mirrors Dockerfile.cuda12's deps→base→builder→runtime stages so the
|
|
14
12
|
# shared logic (standalone Python, editable installs, bundle-libs .pth shadow,
|
|
@@ -18,18 +16,18 @@
|
|
|
18
16
|
# cu130 bundle), so there is no per-bundle runtime indirection.
|
|
19
17
|
#
|
|
20
18
|
# DUAL-TORCH CARRY: the shared base venv still installs torch 2.9 (cu129) from
|
|
21
|
-
# pyproject, and
|
|
19
|
+
# pyproject, and CUDA 13 bundles overlay torch 2.11 (cu130) into bundle-libs
|
|
22
20
|
# (~+3 GB). Slimming torch out of sie-server core to drop the carry is a tracked
|
|
23
21
|
# follow-up (#1415).
|
|
24
22
|
|
|
25
|
-
ARG BUNDLE=
|
|
23
|
+
ARG BUNDLE=sglang-cu130
|
|
26
24
|
ARG UV_VERSION=0.9.28
|
|
27
25
|
|
|
28
|
-
# Build the
|
|
26
|
+
# Build the native Rust extension from checked-in source; it is not published
|
|
29
27
|
# to PyPI.
|
|
30
28
|
FROM ghcr.io/pyo3/maturin:v1.13.3 AS audio-prep-builder
|
|
31
29
|
WORKDIR /io
|
|
32
|
-
# The crate is a Cargo workspace member
|
|
30
|
+
# The crate is a Cargo workspace member: its pins live in the root
|
|
33
31
|
# Cargo.lock, and loading the workspace needs every member's manifest+sources.
|
|
34
32
|
COPY Cargo.toml Cargo.lock ./
|
|
35
33
|
COPY packages/sie_audio_prep/ packages/sie_audio_prep/
|
|
@@ -50,13 +48,16 @@ ENV DEBIAN_FRONTEND=noninteractive \
|
|
|
50
48
|
UV_PYTHON_INSTALL_DIR=/opt/python \
|
|
51
49
|
PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
52
50
|
|
|
53
|
-
# Minimal apt footprint:
|
|
51
|
+
# Minimal apt footprint: curl/git plus the MPI runtime required by
|
|
52
|
+
# TensorRT-LLM's Python import; no OpenMPI development headers are needed.
|
|
54
53
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
55
54
|
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
|
|
56
55
|
apt-get update && apt-get install -y --no-install-recommends \
|
|
57
56
|
ca-certificates \
|
|
58
57
|
curl \
|
|
59
|
-
git
|
|
58
|
+
git \
|
|
59
|
+
libopenmpi3 \
|
|
60
|
+
openmpi-bin
|
|
60
61
|
|
|
61
62
|
ARG UV_VERSION
|
|
62
63
|
RUN curl -LsSf https://astral.sh/uv/${UV_VERSION}/install.sh | sh \
|
|
@@ -117,12 +118,12 @@ RUN --mount=type=cache,target=/root/.cache/pip \
|
|
|
117
118
|
# Sanity-check shared venv imports.
|
|
118
119
|
RUN .venv/bin/python -c "import sie_audio_prep, torch; print(torch.__version__)"
|
|
119
120
|
|
|
120
|
-
# Register bundle-libs
|
|
121
|
-
#
|
|
122
|
-
#
|
|
123
|
-
# overlay). Content is identical for every bundle, so
|
|
124
|
-
# shared venv layer byte-identical.
|
|
125
|
-
RUN echo "import sys; sys.path.
|
|
121
|
+
# Register bundle-libs as a site directory so dependency-owned .pth files are
|
|
122
|
+
# processed at interpreter startup. Then move every discovered bundle path
|
|
123
|
+
# ahead of the shared venv so bundle-specific versions SHADOW it (the cu130
|
|
124
|
+
# torch/transformers/engine overlay). Content is identical for every bundle, so
|
|
125
|
+
# writing it here keeps the shared venv layer byte-identical.
|
|
126
|
+
RUN echo "import site, sys; _sie_bundle_start = len(sys.path); site.addsitedir('/app/bundle-libs'); sys.path[:] = sys.path[_sie_bundle_start:] + sys.path[:_sie_bundle_start]" \
|
|
126
127
|
> /app/.venv/lib/python3.12/site-packages/_sie_bundle.pth
|
|
127
128
|
|
|
128
129
|
# Conservative venv cleanup — only runtime-safe removals. Keep torch/include
|
|
@@ -155,16 +156,16 @@ RUN .venv/bin/python -m sie_server.cli resolve-deps \
|
|
|
155
156
|
&& cat /tmp/bundle-requirements.txt
|
|
156
157
|
|
|
157
158
|
# cu130 bundle deps go into a separate site-packages tree (``bundle-libs``,
|
|
158
|
-
# prepended to sys.path via the .pth above).
|
|
159
|
+
# prepended to sys.path via the .pth above). CUDA 13 engines need torch 2.11
|
|
159
160
|
# from the cu130 PyTorch index, where the only ``2.11.0`` is the ``+cu130``
|
|
160
161
|
# local-version wheel; pip's multi-index resolution does not reliably prefer it
|
|
161
162
|
# over PyPI's default-CUDA build, so cuda13 bundles resolve with ``uv`` and
|
|
162
163
|
# ``--index-strategy unsafe-best-match`` against the cu130 PyTorch + sglang
|
|
163
164
|
# indexes (so torch 2.11 + sgl-kernel/flashinfer land for cu130). This uv +
|
|
164
|
-
# cu130-index resolution was validated
|
|
165
|
-
#
|
|
165
|
+
# cu130-index resolution was validated with sglang 0.5.13, torch 2.11, and a
|
|
166
|
+
# cu130 runtime in a fresh GPU environment.
|
|
166
167
|
#
|
|
167
|
-
# COVERAGE NOTE: the
|
|
168
|
+
# COVERAGE NOTE: the CUDA 13 image CI callers
|
|
168
169
|
# builds this image and asserts on CPU that the bundle-libs cu130 overlay
|
|
169
170
|
# SHADOWS the base venv (import torch -> 2.11+cu130, transformers 5.x). It does
|
|
170
171
|
# NOT exercise GPU init: the cu12 base venv + cu130 bundle-libs both expose the
|
|
@@ -220,6 +221,8 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|
|
220
221
|
# libnuma1: required by sgl_kernel; import fails with a misleading SM-arch error
|
|
221
222
|
# without it.
|
|
222
223
|
# libgomp1: torch OpenMP runtime.
|
|
224
|
+
# libopenmpi3/openmpi-bin: TensorRT-LLM imports MPI at runtime; headers are not
|
|
225
|
+
# required by the qualified wheel closure.
|
|
223
226
|
# libspatialindex-c6 / libgl1 / libglib2.0-0 / libice6 / libsm6 / libx11-6 /
|
|
224
227
|
# libxcb1 / libxext6: docling/opencv dlopen chain (kept symmetric with the
|
|
225
228
|
# cuda12 runtime so the same model bundle deps import cleanly).
|
|
@@ -235,9 +238,11 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
|
235
238
|
libgomp1 \
|
|
236
239
|
libice6 \
|
|
237
240
|
libnuma1 \
|
|
241
|
+
libopenmpi3 \
|
|
238
242
|
libsm6 \
|
|
239
243
|
libspatialindex-c6 \
|
|
240
244
|
ninja-build \
|
|
245
|
+
openmpi-bin \
|
|
241
246
|
libx11-6 \
|
|
242
247
|
libxcb1 \
|
|
243
248
|
libxext6
|
|
@@ -268,7 +273,8 @@ COPY --link --from=base --chown=1000:1000 /app/bundles /app/bundles
|
|
|
268
273
|
# Bundle-specific extras — last layer so shared layers above stay cached.
|
|
269
274
|
COPY --link --from=builder --chown=1000:1000 /app/bundle-libs /app/bundle-libs
|
|
270
275
|
|
|
271
|
-
RUN mkdir -p /app/evals /app/.cache/huggingface
|
|
276
|
+
RUN mkdir -p /app/evals /app/.cache/huggingface /app/.cache/sie-kernels \
|
|
277
|
+
&& chown -R sie:sie /app/evals /app/.cache
|
|
272
278
|
|
|
273
279
|
# Declare BUNDLE only here (LABEL + ENV) so layers above are bundle-agnostic.
|
|
274
280
|
ARG BUNDLE
|
|
@@ -277,10 +283,12 @@ LABEL org.opencontainers.image.title="SIE Server" \
|
|
|
277
283
|
org.opencontainers.image.description="Search Inference Engine - ${BUNDLE} bundle (CUDA 13)" \
|
|
278
284
|
sie.bundle="${BUNDLE}"
|
|
279
285
|
|
|
280
|
-
|
|
286
|
+
# ``uv --target`` writes engine entrypoints beside the package overlay.
|
|
287
|
+
ENV PATH="/app/bundle-libs/bin:/app/.venv/bin:$PATH" \
|
|
281
288
|
PYTHONUNBUFFERED=1 \
|
|
282
289
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
283
290
|
HF_HOME=/app/.cache/huggingface \
|
|
291
|
+
SIE_SGLANG_KERNEL_CACHE_ROOT=/app/.cache/sie-kernels \
|
|
284
292
|
NVIDIA_VISIBLE_DEVICES=all \
|
|
285
293
|
NVIDIA_DRIVER_CAPABILITIES=compute,utility \
|
|
286
294
|
SIE_BUNDLE="${BUNDLE}"
|
|
@@ -67,7 +67,7 @@ auto-retries; see `packages/sie_sdk/README.md` for client-side controls.
|
|
|
67
67
|
| Env var | Default | Effect |
|
|
68
68
|
|--|--|--|
|
|
69
69
|
| `SIE_MAX_BATCH_REQUESTS` | `64` | Maximum number of items per batched inference call. |
|
|
70
|
-
| `SIE_MAX_BATCH_WAIT_MS` | `
|
|
70
|
+
| `SIE_MAX_BATCH_WAIT_MS` | `15.0` | Initial value for the adaptive first-request batch timeout. At runtime the PI batching controller steers it between `SIE_ADAPTIVE_BATCHING__MIN_WAIT_MS` and `SIE_ADAPTIVE_BATCHING__MAX_WAIT_MS`, so it is a starting point rather than a fixed wait. |
|
|
71
71
|
| `SIE_MAX_CONCURRENT_REQUESTS` | `512` | Per-worker queue size; admission control returns `QUEUE_FULL` above this. |
|
|
72
72
|
| `SIE_MAX_LORAS_PER_MODEL` | `10` | Maximum concurrent LoRA adapters per base model. |
|
|
73
73
|
|
|
@@ -59,8 +59,17 @@ deps:
|
|
|
59
59
|
sentence-transformers: '>=5.0,<6'
|
|
60
60
|
# bge_m3_flag
|
|
61
61
|
FlagEmbedding: '>=1.3'
|
|
62
|
-
# grounding_dino
|
|
63
|
-
|
|
62
|
+
# grounding_dino. EXACT, not a range. `uv run --with-requirements` resolves the
|
|
63
|
+
# overlay live from PyPI, and `--frozen`/`--no-sync` govern only the project
|
|
64
|
+
# env, so any unbounded range here is re-resolved on every eval. The old
|
|
65
|
+
# `>=11,<12` (94430893c) was accidentally stable because the 11.x line is
|
|
66
|
+
# closed, but it contradicted sie-server's own `pillow>=12.2.0` since the
|
|
67
|
+
# security bump (27fd2063d), so every default-bundle eval served the superseded
|
|
68
|
+
# major. A bare `>=12.2.0` would fix that while making the pin float, which
|
|
69
|
+
# trades a stale-but-stable closure for a moving one.
|
|
70
|
+
# Pinned to the version the project lock holds, so overlay and lock agree.
|
|
71
|
+
# Changing this re-measures 13 gating floors (naver/v-splade-quality, docling).
|
|
72
|
+
pillow: '==12.3.0'
|
|
64
73
|
# grounding_dino
|
|
65
74
|
requests: ''
|
|
66
75
|
# gliner, gliner_bi
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: sglang-cu130
|
|
2
2
|
priority: 20
|
|
3
3
|
default: false
|
|
4
4
|
# GPU platform this bundle targets — selects packages/sie_server/Dockerfile.cuda13
|
|
5
|
-
# and tags images ``cuda13-
|
|
5
|
+
# and tags images ``cuda13-sglang-cu130`` (not ``cuda12-*``). Gemma 4 needs sglang
|
|
6
6
|
# 0.5.13 / torch 2.11 cu130 on a CUDA 13 devel runtime (see below). Read by the
|
|
7
|
-
#
|
|
8
|
-
# matrix (.github/release-matrix.json). Bundles without this field default to
|
|
9
|
-
# ``cuda12``.
|
|
7
|
+
# image build. Bundles without this field default to ``cuda12``.
|
|
10
8
|
platform: cuda13
|
|
11
|
-
# CUDA 13 SGLang worker image, introduced for Google Gemma 4
|
|
12
|
-
# and
|
|
9
|
+
# General CUDA 13 / cu130 SGLang worker image, introduced for Google Gemma 4
|
|
10
|
+
# (see issue #1415) and shared by every profile that requires this newer engine
|
|
11
|
+
# and toolchain closure, including Qwen3.6 and Qwen3.8 native-window profiles.
|
|
13
12
|
#
|
|
14
13
|
# VALIDATED on a Modal L4 (driver 580.95.05 / CUDA 13.0) on 2026-06-18:
|
|
15
14
|
# google/gemma-4-E2B-it serves end-to-end on sglang 0.5.13 — the gemma4
|
|
@@ -17,8 +16,8 @@ platform: cuda13
|
|
|
17
16
|
# and /v1/chat/completions returns 200 (with --disable-cuda-graph, which the
|
|
18
17
|
# model configs set via adapter_options.loadtime.disable_cuda_graph).
|
|
19
18
|
#
|
|
20
|
-
# Kept SEPARATE from the `sglang` bundle so its Qwen3.x
|
|
21
|
-
#
|
|
19
|
+
# Kept SEPARATE from the `sglang` bundle so its older Qwen3.x profiles stay on
|
|
20
|
+
# sglang 0.5.10.post1 / torch 2.9.1. Qwen3.6-27B native-window
|
|
22
21
|
# variants opt into this image through the generic CUDA 13 adapter; their
|
|
23
22
|
# thinking variants add the strict-thinking behavior. The rest of the Qwen
|
|
24
23
|
# catalog remains untouched.
|
|
@@ -32,7 +31,7 @@ platform: cuda13
|
|
|
32
31
|
# this bundle's image carries torch 2.11 (cu130) on a CUDA 13 base — built by
|
|
33
32
|
# the dedicated ``cuda13`` platform (packages/sie_server/Dockerfile.cuda13),
|
|
34
33
|
# selected via the ``platform: cuda13`` field above. The shared base venv still
|
|
35
|
-
# ships torch 2.9.1, so the
|
|
34
|
+
# ships torch 2.9.1, so the cu130 image carries two torches (~+3 GB); slimming
|
|
36
35
|
# torch out of sie-server core would remove that (tracked follow-up in #1415).
|
|
37
36
|
#
|
|
38
37
|
# Distinct thin adapter modules scope routing here because bundle compatibility
|
|
@@ -47,7 +46,8 @@ deps:
|
|
|
47
46
|
# sglang 0.5.13 = the validated Gemma 4 engine (0.5.11 has the activation.cuh
|
|
48
47
|
# JIT bug above). Verified transitive resolution on the Modal L4 cu130 image:
|
|
49
48
|
# torch==2.11.0 (cu130), transformers==5.8.1, kernels==0.14.1,
|
|
50
|
-
# sglang-kernel
|
|
49
|
+
# sgl-deep-gemm==0.1.2, sglang-kernel==0.4.3, and
|
|
50
|
+
# flashinfer-python==0.6.12 (the exact SGLang 0.5.13 closure).
|
|
51
51
|
# These resolve from the cu130 wheel indexes at build/serve time
|
|
52
52
|
# (download.pytorch.org/whl/cu130 + https://docs.sglang.ai/whl/cu130/),
|
|
53
53
|
# supplied by the build (Dockerfile.cuda13 / Modal image). torch,
|
|
@@ -20,9 +20,8 @@ deps:
|
|
|
20
20
|
# a pre-release-only requirement. PyPI's ``flash-attn-4`` also publishes a
|
|
21
21
|
# stable ``0.0.1`` placeholder, which disables uv's "allow pre-releases
|
|
22
22
|
# when a package has nothing but pre-releases" rule, so a resolution that
|
|
23
|
-
# only names ``sglang`` is unsatisfiable
|
|
24
|
-
#
|
|
25
|
-
# pre-release specifier re-enables pre-releases for exactly this package.
|
|
23
|
+
# only names ``sglang`` is unsatisfiable. Declaring the dep here with an
|
|
24
|
+
# explicit pre-release specifier re-enables pre-releases for exactly this package.
|
|
26
25
|
# Runtime-inert for us: sglang's default attention backend is flashinfer;
|
|
27
26
|
# fa4 only needs to be importable to satisfy the dependency.
|
|
28
27
|
flash-attn-4: '==4.0.0b19'
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: tensorrt-llm
|
|
2
|
+
priority: 20
|
|
3
|
+
default: false
|
|
4
|
+
# Reusable direct-HF encoder-decoder runtime. This is a CUDA 13 engine lane,
|
|
5
|
+
# not a checkpoint-specific bundle; compatible T5/BART/mBART-family profiles
|
|
6
|
+
# opt in through the generic adapter module below.
|
|
7
|
+
platform: cuda13
|
|
8
|
+
adapters:
|
|
9
|
+
- sie_server.adapters.tensorrt_llm.generation
|
|
10
|
+
deps:
|
|
11
|
+
# Exact prerelease qualified from tag commit
|
|
12
|
+
# 1cef02e901be43081b1ba6d4981e94ed3bd9c1e8. Compatibility overlays verify
|
|
13
|
+
# the complete rc24 source files they patch and refuse any other build.
|
|
14
|
+
tensorrt-llm: '==1.3.0rc24'
|
|
15
|
+
# rc24's direct-HF T5 closure. Torch resolves to the +cu130 wheel through
|
|
16
|
+
# Dockerfile.cuda13's explicit PyTorch index.
|
|
17
|
+
torch: '==2.11.0'
|
|
18
|
+
transformers: '==5.5.4'
|
|
19
|
+
flashinfer-python: '==0.6.16'
|
|
20
|
+
triton: '==3.6.0'
|
|
21
|
+
nvidia-cutlass-dsl: '==4.5.0'
|
|
22
|
+
nvidia-cuda-tileiras: '==13.1.80'
|
|
23
|
+
nvidia-matmul-heuristics: '==0.1.0.27'
|
|
24
|
+
# cuda-python 13.3.1 permits cuda-pathfinder~=1.1, while cuda-core and
|
|
25
|
+
# cuda-bindings only require >=1.4.2. Pin the import-proven rc24 closure so
|
|
26
|
+
# a newer transitive release cannot silently change the engine image.
|
|
27
|
+
cuda-pathfinder: '==1.7.0'
|
|
28
|
+
# rc24 permits an NCCL range; lock the import-proven cu13 build so PyPI and
|
|
29
|
+
# the cu130 indexes cannot choose a different ABI-compatible-looking wheel.
|
|
30
|
+
nvidia-nccl-cu13: '==2.28.9'
|
|
31
|
+
flash-attn-4: '==4.0.0b11'
|
|
32
|
+
torch-c-dlpack-ext: '==0.1.3'
|
|
33
|
+
xgrammar: '==0.1.32'
|
|
34
|
+
apache-tvm-ffi: '==0.1.6'
|
|
35
|
+
# The published rc24 closure leaves mpmath open; a newer resolution breaks
|
|
36
|
+
# native import. 1.3.0 is the exact import-proven value.
|
|
37
|
+
mpmath: '==1.3.0'
|
|
@@ -15,11 +15,9 @@ tasks:
|
|
|
15
15
|
# to fit the full generation benchmark pack (casehold prompts reach ~1.8k
|
|
16
16
|
# tokens, gpqa ~1.3k) so the model is comparable to the rest of the fleet on
|
|
17
17
|
# every task, while KV stays trivial at this size (112 KB/token → 4096 ≈
|
|
18
|
-
# 0.46 GB).
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
# tools/bench_generation_matrix.py + run_generation_smoke.py) and caps itself
|
|
22
|
-
# to 1024 for that case.
|
|
18
|
+
# 0.46 GB). A deployment packing two SGLang instances onto one 22 GiB L4
|
|
19
|
+
# does NOT depend on this default: it passes an explicit
|
|
20
|
+
# ``--max-seq-length``/``--context-length`` and caps itself to 1024.
|
|
23
21
|
#
|
|
24
22
|
# ``context_length``, ``max_sequence_length``, and ``max_batch_tokens`` are
|
|
25
23
|
# three independent knobs (per-request context, SGLang --context-length,
|
|
@@ -39,8 +37,8 @@ max_sequence_length: 4096
|
|
|
39
37
|
# KV-cache memory math (Qwen3-0.6B, bf16):
|
|
40
38
|
# layers=28, kv_heads=8, head_dim=128, bytes_per_elem=2
|
|
41
39
|
# kv_bytes_per_token = 2 × 28 × 8 × 128 × 2 = 114,688 B ≈ 112 KB
|
|
42
|
-
# At ctx=4096 a single request's KV is ~0.46 GB — negligible.
|
|
43
|
-
#
|
|
40
|
+
# At ctx=4096 a single request's KV is ~0.46 GB — negligible. Co-resident
|
|
41
|
+
# deployments can still cap context explicitly when sharing a card.
|
|
44
42
|
profiles:
|
|
45
43
|
default:
|
|
46
44
|
max_batch_tokens: 4096
|
|
@@ -49,9 +47,8 @@ profiles:
|
|
|
49
47
|
kv_budget_tokens: 8192
|
|
50
48
|
adapter_options:
|
|
51
49
|
loadtime:
|
|
52
|
-
# 0.8 leaves headroom on a 22 GiB L4 for a second SGLang instance
|
|
53
|
-
#
|
|
54
|
-
# 0.6B is the only model on the card, 0.9 is fine.
|
|
50
|
+
# 0.8 leaves headroom on a 22 GiB L4 for a second SGLang instance. If
|
|
51
|
+
# the 0.6B is the only model on the card, 0.9 is fine.
|
|
55
52
|
mem_fraction_static: 0.8
|
|
56
53
|
served_model_name: Qwen/Qwen3-0.6B
|
|
57
54
|
# Modal sandbox lacks flashinfer's JIT prerequisites; switch backends.
|
|
@@ -38,8 +38,7 @@ tasks:
|
|
|
38
38
|
# them on ``delta.tool_calls`` for SSE and on
|
|
39
39
|
# ``message.tool_calls`` for non-streaming requests.
|
|
40
40
|
tools: true
|
|
41
|
-
# Validated for code generation
|
|
42
|
-
# Modal A100 (see benchmarks/generation/.../code/measured_baseline.json).
|
|
41
|
+
# Validated for code generation before enabling the code alias.
|
|
43
42
|
# Backs the model="code" alias. Informational (not request-gated).
|
|
44
43
|
code: true
|
|
45
44
|
# Backs the model="sql" alias. NOTE: this profile runs the outlines
|
|
@@ -31,8 +31,7 @@ tasks:
|
|
|
31
31
|
# NOTE: scoped to what the production backend (``outlines``, set
|
|
32
32
|
# per-profile under ``adapter_options.loadtime``) actually supports
|
|
33
33
|
# on SGLang. SGLang's outlines_backend explicitly skips ebnf with
|
|
34
|
-
# ``Skip unsupported key_type='ebnf'`` — confirmed
|
|
35
|
-
# 2026-05-26 (see ``benchmarks/generation/qwen35-outlines-smoke/``).
|
|
34
|
+
# ``Skip unsupported key_type='ebnf'`` — confirmed by a compatibility smoke.
|
|
36
35
|
# If an operator switches a Qwen3.5 profile to ``grammar_backend:
|
|
37
36
|
# xgrammar`` they should re-add ``"ebnf"`` here — xgrammar smoke on
|
|
38
37
|
# the same hardware passed all three modes (regex/json_schema/ebnf).
|
|
@@ -109,9 +108,8 @@ max_sequence_length: 8192
|
|
|
109
108
|
# effective_max_running_requests_per_dp = 48
|
|
110
109
|
#
|
|
111
110
|
# ``kv_budget_tokens`` is sized at ``token_capacity / 4``, matching the
|
|
112
|
-
# pattern set by Qwen3-4B-Instruct-2507. Re-calibrate
|
|
113
|
-
#
|
|
114
|
-
# ``mem_fraction_static`` changes.
|
|
111
|
+
# pattern set by Qwen3-4B-Instruct-2507. Re-calibrate with an SGLang capacity
|
|
112
|
+
# probe if its version or ``mem_fraction_static`` changes.
|
|
115
113
|
profiles:
|
|
116
114
|
# The bare model is the measured production A100-40GB shape. The
|
|
117
115
|
# ``a100-40gb`` alias below preserves the resolved profile identity used by
|
|
@@ -266,8 +264,8 @@ profiles:
|
|
|
266
264
|
max_batch_tokens: 65536
|
|
267
265
|
compute_precision: bfloat16
|
|
268
266
|
adapter_path: sie_server.adapters.sglang.generation:SGLangGenerationAdapter
|
|
269
|
-
# Analytical estimate — re-calibrate
|
|
270
|
-
#
|
|
267
|
+
# Analytical estimate — re-calibrate with an SGLang capacity probe once
|
|
268
|
+
# H100 access is set up. Scales ~2× off the A100-40GB number
|
|
271
269
|
# (80 GB / 40 GB), so ~420k tokens at context=32768.
|
|
272
270
|
kv_budget_tokens: 421888
|
|
273
271
|
adapter_options:
|