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.
Files changed (640) hide show
  1. {sie_server-0.7.1 → sie_server-0.7.3}/.gitignore +2 -36
  2. {sie_server-0.7.1 → sie_server-0.7.3}/CONTRIBUTING.md +2 -2
  3. {sie_server-0.7.1 → sie_server-0.7.3}/Dockerfile.cpu +4 -2
  4. {sie_server-0.7.1 → sie_server-0.7.3}/Dockerfile.cuda12 +14 -10
  5. {sie_server-0.7.1 → sie_server-0.7.3}/Dockerfile.cuda13 +34 -26
  6. {sie_server-0.7.1 → sie_server-0.7.3}/PKG-INFO +2 -2
  7. {sie_server-0.7.1 → sie_server-0.7.3}/README.md +1 -1
  8. sie_server-0.7.3/bundles/ctranslate2.yaml +6 -0
  9. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/default.yaml +11 -2
  10. sie_server-0.7.1/bundles/gemma.yaml → sie_server-0.7.3/bundles/sglang-cu130.yaml +11 -11
  11. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/sglang-embedding.yaml +2 -3
  12. sie_server-0.7.3/bundles/tensorrt-llm.yaml +37 -0
  13. {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-multilingual-base.yaml +1 -0
  14. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-reranker-large.yaml +1 -0
  15. {sie_server-0.7.1 → sie_server-0.7.3}/models/EmergentMethods__gliner_large_news-v2.1.yaml +1 -0
  16. {sie_server-0.7.1 → sie_server-0.7.3}/models/GritLM__GritLM-7B.yaml +1 -0
  17. {sie_server-0.7.1 → sie_server-0.7.3}/models/Ihor__gliner-biomed-large-v1.0.yaml +1 -0
  18. {sie_server-0.7.1 → sie_server-0.7.3}/models/Linq-AI-Research__Linq-Embed-Mistral.yaml +1 -0
  19. {sie_server-0.7.1 → sie_server-0.7.3}/models/MoritzLaurer__ModernBERT-base-zeroshot-v2.0.yaml +1 -0
  20. {sie_server-0.7.1 → sie_server-0.7.3}/models/MoritzLaurer__deberta-v3-base-zeroshot-v2.0.yaml +1 -0
  21. {sie_server-0.7.1 → sie_server-0.7.3}/models/MoritzLaurer__deberta-v3-large-zeroshot-v2.0.yaml +1 -0
  22. {sie_server-0.7.1 → sie_server-0.7.3}/models/NovaSearch__stella_en_400M_v5.yaml +1 -0
  23. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-0.6B.yaml +7 -10
  24. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-4B-Instruct-2507.yaml +1 -2
  25. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3.5-4B.yaml +5 -7
  26. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3.6-27B.yaml +7 -8
  27. sie_server-0.7.3/models/Qwen__Qwen3.8-27B-FP8.yaml +360 -0
  28. {sie_server-0.7.1 → sie_server-0.7.3}/models/Salesforce__SFR-Embedding-2_R.yaml +1 -0
  29. {sie_server-0.7.1 → sie_server-0.7.3}/models/Salesforce__SFR-Embedding-Mistral.yaml +1 -0
  30. {sie_server-0.7.1 → sie_server-0.7.3}/models/cross-encoder__ms-marco-MiniLM-L-12-v2.yaml +1 -0
  31. {sie_server-0.7.1 → sie_server-0.7.3}/models/cross-encoder__nli-deberta-v3-base.yaml +1 -0
  32. {sie_server-0.7.1 → sie_server-0.7.3}/models/defog__sqlcoder-7b-2.yaml +1 -2
  33. {sie_server-0.7.1 → sie_server-0.7.3}/models/facebook__bart-large-mnli.yaml +1 -0
  34. {sie_server-0.7.1 → sie_server-0.7.3}/models/gliner-community__gliner_large-v2.5.yaml +1 -0
  35. {sie_server-0.7.1 → sie_server-0.7.3}/models/gliner-community__gliner_medium-v2.5.yaml +1 -0
  36. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-26B-A4B-it.yaml +2 -2
  37. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-31B-it.yaml +1 -1
  38. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-E2B-it.yaml +2 -2
  39. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__gemma-4-E4B-it.yaml +2 -2
  40. sie_server-0.7.3/models/google__madlad400-3b-mt.yaml +42 -0
  41. sie_server-0.7.3/models/google__siglip-base-patch16-256.yaml +26 -0
  42. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__siglip-so400m-patch14-224.yaml +1 -0
  43. {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-english-r2.yaml +1 -0
  44. {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-small-english-r2.yaml +1 -0
  45. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-large-v2.yaml +1 -0
  46. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-mistral-7b-instruct.yaml +1 -0
  47. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__multilingual-e5-large-instruct.yaml +1 -0
  48. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__multilingual-e5-large.yaml +1 -0
  49. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__multilingual-e5-small.yaml +1 -0
  50. {sie_server-0.7.1 → sie_server-0.7.3}/models/jackboyla__glirel-large-v0.yaml +1 -0
  51. {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-base-v1.0.yaml +1 -0
  52. {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-small-v1.0.yaml +1 -0
  53. {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliner-bi-base-v2.0.yaml +1 -0
  54. {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__modern-gliner-bi-base-v1.0.yaml +1 -0
  55. {sie_server-0.7.1 → sie_server-0.7.3}/models/microsoft__Florence-2-base.yaml +1 -1
  56. {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-rerank-large-v2.yaml +1 -0
  57. {sie_server-0.7.1 → sie_server-0.7.3}/models/naver-clova-ix__donut-base-finetuned-cord-v2.yaml +1 -0
  58. {sie_server-0.7.1 → sie_server-0.7.3}/models/naver-clova-ix__donut-base-finetuned-docvqa.yaml +1 -0
  59. {sie_server-0.7.1 → sie_server-0.7.3}/models/naver__splade-cocondenser-selfdistil.yaml +1 -0
  60. {sie_server-0.7.1 → sie_server-0.7.3}/models/naver__splade-v3.yaml +1 -0
  61. {sie_server-0.7.1 → sie_server-0.7.3}/models/nomic-ai__modernbert-embed-base.yaml +1 -0
  62. {sie_server-0.7.1 → sie_server-0.7.3}/models/numind__NuNER_Zero-span.yaml +1 -0
  63. {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__llama-nemoretriever-colembed-3b-v1.yaml +1 -0
  64. {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__nemotron-colembed-vl-4b-v2.yaml +1 -0
  65. {sie_server-0.7.1 → sie_server-0.7.3}/models/openai__clip-vit-large-patch14.yaml +1 -0
  66. {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v2-distill.yaml +1 -0
  67. {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v2-mini.yaml +1 -0
  68. {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-v1.yaml +1 -0
  69. {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-v2-distill.yaml +1 -0
  70. {sie_server-0.7.1 → sie_server-0.7.3}/models/rasyosef__splade-mini.yaml +1 -0
  71. {sie_server-0.7.1 → sie_server-0.7.3}/models/sentence-transformers__all-MiniLM-L6-v2.yaml +1 -0
  72. {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_large-v2.1.yaml +1 -0
  73. {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_medium-v2.1.yaml +1 -0
  74. {sie_server-0.7.1 → sie_server-0.7.3}/models/vidore__colpali-v1.3-hf.yaml +1 -0
  75. {sie_server-0.7.1 → sie_server-0.7.3}/models/vidore__colqwen2.5-v0.2.yaml +1 -0
  76. {sie_server-0.7.1 → sie_server-0.7.3}/openapi.json +342 -14
  77. {sie_server-0.7.1 → sie_server-0.7.3}/pyproject.toml +1 -1
  78. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_generation_base.py +490 -21
  79. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/clip/__init__.py +49 -27
  80. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colpali/__init__.py +29 -23
  81. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colqwen2/__init__.py +22 -15
  82. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colqwen3/__init__.py +12 -14
  83. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colsmol/__init__.py +12 -14
  84. sie_server-0.7.3/src/sie_server/adapters/ctranslate2/generation.py +742 -0
  85. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/docling/adapter.py +24 -5
  86. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/donut/__init__.py +8 -10
  87. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/florence2/__init__.py +8 -10
  88. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliclass/__init__.py +2 -2
  89. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/glm_ocr/__init__.py +8 -9
  90. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/grounding_dino/adapter.py +6 -9
  91. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/lighton_ocr/adapter.py +8 -9
  92. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/mineru_vl/__init__.py +8 -9
  93. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/mlx/_server.py +16 -0
  94. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/mlx/generation.py +63 -39
  95. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nemo_colembed/__init__.py +6 -11
  96. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/owlv2/adapter.py +6 -9
  97. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/paddleocr_vl/__init__.py +8 -9
  98. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen3_vl_embedding/__init__.py +15 -18
  99. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen3_vl_reranker/adapter.py +4 -13
  100. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/_server.py +141 -8
  101. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/embedding.py +61 -12
  102. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/gemma.py +1 -1
  103. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/generation.py +188 -116
  104. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang_vision_extract/adapter.py +3 -1
  105. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/siglip/adapter.py +42 -23
  106. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/st_sparse_vision/adapter.py +6 -10
  107. sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/_compat/sitecustomize.py +13 -0
  108. sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/_server.py +221 -0
  109. sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/compat.py +188 -0
  110. sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm/generation.py +777 -0
  111. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/encode.py +52 -19
  112. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/extract.py +10 -1
  113. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/generate.py +226 -39
  114. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/health.py +2 -2
  115. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/helpers.py +165 -8
  116. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/models.py +4 -1
  117. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_compat.py +188 -33
  118. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_completions.py +125 -34
  119. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_local.py +61 -6
  120. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_responses.py +32 -12
  121. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/score.py +12 -2
  122. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/serialization.py +4 -8
  123. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/app/app_state_config.py +1 -1
  124. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/cli.py +65 -5
  125. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/config/engine.py +15 -0
  126. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/config/model.py +61 -3
  127. sie_server-0.7.3/src/sie_server/config/serving_artifacts.py +574 -0
  128. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/batcher.py +76 -16
  129. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/disk_cache.py +74 -18
  130. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/extract_cost.py +7 -1
  131. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/loader.py +34 -2
  132. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/logging.py +65 -6
  133. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/model_loader.py +64 -1
  134. sie_server-0.7.3/src/sie_server/core/model_suggestions.py +87 -0
  135. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/prepared.py +1 -1
  136. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/image.py +43 -30
  137. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/vision.py +22 -24
  138. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/registry.py +256 -27
  139. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/video_frames.py +9 -10
  140. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/model_worker.py +278 -22
  141. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/types.py +80 -15
  142. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/ipc_server.py +67 -24
  143. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/worker_telemetry.py +30 -0
  144. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/streaming.py +374 -184
  145. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/tool_call_grammar.py +1 -2
  146. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/tool_call_parser.py +18 -4
  147. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/queue_executor.py +14 -5
  148. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/inputs.py +59 -1
  149. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/openapi.py +113 -3
  150. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/requests.py +5 -0
  151. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/responses.py +22 -0
  152. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_adapter_revision_contract.py +18 -6
  153. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_bge_m3_flash.py +2 -2
  154. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_clip.py +29 -0
  155. sie_server-0.7.3/tests/adapters/test_colqwen2_revision.py +56 -0
  156. sie_server-0.7.3/tests/adapters/test_ctranslate2_generation.py +510 -0
  157. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_docling.py +31 -1
  158. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_docling_smoke.py +71 -24
  159. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_donut.py +27 -0
  160. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_florence2.py +2 -1
  161. sie_server-0.7.3/tests/adapters/test_generation_base.py +619 -0
  162. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_grounding_dino.py +23 -0
  163. sie_server-0.7.3/tests/adapters/test_image_decode_errors.py +56 -0
  164. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_lora_integration.py +1 -1
  165. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_mlx_generation.py +102 -0
  166. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_owlv2.py +23 -0
  167. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_qwen3_vl_embedding.py +16 -4
  168. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_qwen3_vl_reranker.py +1 -1
  169. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_runtime_options.py +3 -3
  170. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sglang.py +255 -0
  171. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sglang_generation.py +248 -1
  172. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sglang_vision_extract.py +76 -0
  173. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_siglip.py +74 -0
  174. sie_server-0.7.3/tests/adapters/test_siglip_integration.py +187 -0
  175. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_st_sparse_vision.py +20 -0
  176. sie_server-0.7.3/tests/adapters/test_tensorrt_llm_compat.py +504 -0
  177. sie_server-0.7.3/tests/adapters/test_tensorrt_llm_generation.py +1393 -0
  178. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_dtype.py +12 -1
  179. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_endpoint.py +1 -1
  180. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_validation.py +43 -0
  181. sie_server-0.7.3/tests/api/test_error_code_hygiene.py +281 -0
  182. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_extract.py +38 -1
  183. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_extract_integration.py +1 -1
  184. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_extract_oom.py +5 -3
  185. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_generate.py +402 -3
  186. sie_server-0.7.3/tests/api/test_generate_stream.py +650 -0
  187. sie_server-0.7.3/tests/api/test_generation_cleanup_precedence.py +223 -0
  188. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_models.py +3 -0
  189. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_compat.py +207 -7
  190. sie_server-0.7.3/tests/api/test_openai_completions.py +722 -0
  191. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_local.py +204 -23
  192. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_responses.py +182 -11
  193. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_score.py +55 -0
  194. sie_server-0.7.3/tests/api/test_usage_reporting.py +224 -0
  195. sie_server-0.7.3/tests/config/test_qwen38_generation_profiles.py +165 -0
  196. sie_server-0.7.3/tests/config/test_serving_artifact_config.py +166 -0
  197. sie_server-0.7.3/tests/config/test_serving_artifacts.py +355 -0
  198. {sie_server-0.7.1 → sie_server-0.7.3}/tests/conftest.py +2 -1
  199. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_batcher.py +69 -0
  200. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_disk_cache.py +147 -0
  201. sie_server-0.7.3/tests/core/test_encode_worker_batching.py +299 -0
  202. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_load_rgb.py +11 -0
  203. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_loader.py +111 -0
  204. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_logging.py +136 -1
  205. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_model_load_timeout.py +1 -1
  206. sie_server-0.7.3/tests/core/test_model_loader_cache.py +275 -0
  207. sie_server-0.7.3/tests/core/test_model_suggestions.py +87 -0
  208. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_preprocessor.py +86 -11
  209. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_failed_state.py +1 -1
  210. sie_server-0.7.3/tests/core/test_registry_generation_drain.py +302 -0
  211. sie_server-0.7.3/tests/core/test_registry_lifecycle_loop.py +180 -0
  212. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_memory.py +86 -0
  213. sie_server-0.7.3/tests/core/test_unload_off_event_loop.py +186 -0
  214. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_video_frames.py +0 -20
  215. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_core.py +253 -0
  216. sie_server-0.7.3/tests/core/test_worker_drain.py +414 -0
  217. sie_server-0.7.3/tests/fake_stack/test_model_loading_race.py +125 -0
  218. {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_registry_races.py +39 -22
  219. sie_server-0.7.3/tests/observability/__init__.py +0 -0
  220. {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_generation_diagnostics.py +6 -1
  221. {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_worker_telemetry.py +1 -0
  222. sie_server-0.7.3/tests/processors/__init__.py +0 -0
  223. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_streaming.py +918 -18
  224. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_tool_call_parser.py +55 -0
  225. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_all_models.py +1 -1
  226. sie_server-0.7.3/tests/test_cli_log_level.py +92 -0
  227. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_docker_integration.py +0 -2
  228. sie_server-0.7.3/tests/test_documented_model_ids.py +101 -0
  229. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_ipc_server.py +272 -7
  230. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_metering_units.py +3 -1
  231. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_model_yaml_filenames.py +10 -12
  232. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_openapi_export.py +56 -0
  233. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_sparse_integration.py +1 -1
  234. sie_server-0.7.3/tests/type_defs/__init__.py +0 -0
  235. sie_server-0.7.3/tests/type_defs/test_decode_image.py +87 -0
  236. sie_server-0.7.1/tests/adapters/test_generation_base.py +0 -275
  237. sie_server-0.7.1/tests/api/test_generate_stream.py +0 -229
  238. sie_server-0.7.1/tests/api/test_openai_completions.py +0 -362
  239. sie_server-0.7.1/tests/core/test_model_loader_cache.py +0 -72
  240. sie_server-0.7.1/tests/fake_stack/test_model_loading_race.py +0 -85
  241. {sie_server-0.7.1 → sie_server-0.7.3}/LICENSE +0 -0
  242. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/candle.yaml +0 -0
  243. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/fake.yaml +0 -0
  244. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/sglang-vision-extract.yaml +0 -0
  245. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/sglang.yaml +0 -0
  246. {sie_server-0.7.1 → sie_server-0.7.3}/bundles/transformers5.yaml +0 -0
  247. {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-Qwen2-1.5B-instruct.yaml +0 -0
  248. {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-Qwen2-7B-instruct.yaml +0 -0
  249. {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-modernbert-base.yaml +0 -0
  250. {sie_server-0.7.1 → sie_server-0.7.3}/models/Alibaba-NLP__gte-reranker-modernbert-base.yaml +0 -0
  251. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-base-en-v1.5.yaml +0 -0
  252. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-large-en-v1.5.yaml +0 -0
  253. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-m3.yaml +0 -0
  254. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-reranker-base.yaml +0 -0
  255. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-reranker-v2-m3.yaml +0 -0
  256. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-small-en-v1.5.yaml +0 -0
  257. {sie_server-0.7.1 → sie_server-0.7.3}/models/BAAI__bge-small-zh-v1.5.yaml +0 -0
  258. {sie_server-0.7.1 → sie_server-0.7.3}/models/IDEA-Research__grounding-dino-base.yaml +0 -0
  259. {sie_server-0.7.1 → sie_server-0.7.3}/models/IDEA-Research__grounding-dino-tiny.yaml +0 -0
  260. {sie_server-0.7.1 → sie_server-0.7.3}/models/Marqo__marqo-ecommerce-embeddings-B.yaml +0 -0
  261. {sie_server-0.7.1 → sie_server-0.7.3}/models/Marqo__marqo-fashionSigLIP.yaml +0 -0
  262. {sie_server-0.7.1 → sie_server-0.7.3}/models/NeuML__gliner-bert-tiny.yaml +0 -0
  263. {sie_server-0.7.1 → sie_server-0.7.3}/models/NovaSearch__stella_en_1.5B_v5.yaml +0 -0
  264. {sie_server-0.7.1 → sie_server-0.7.3}/models/PaddlePaddle__PaddleOCR-VL-1.5.yaml +0 -0
  265. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Embedding-0.6B.yaml +0 -0
  266. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Embedding-4B.yaml +0 -0
  267. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Embedding-8B.yaml +0 -0
  268. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Reranker-0.6B.yaml +0 -0
  269. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-Reranker-4B.yaml +0 -0
  270. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-VL-Embedding-2B.yaml +0 -0
  271. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3-VL-Reranker-2B.yaml +0 -0
  272. {sie_server-0.7.1 → sie_server-0.7.3}/models/Qwen__Qwen3.6-35B-A3B.yaml +0 -0
  273. {sie_server-0.7.1 → sie_server-0.7.3}/models/Snowflake__snowflake-arctic-embed-l-v2.0.yaml +0 -0
  274. {sie_server-0.7.1 → sie_server-0.7.3}/models/Snowflake__snowflake-arctic-embed-m-v2.0.yaml +0 -0
  275. {sie_server-0.7.1 → sie_server-0.7.3}/models/Snowflake__snowflake-arctic-embed-s.yaml +0 -0
  276. {sie_server-0.7.1 → sie_server-0.7.3}/models/TomoroAI__tomoro-colqwen3-embed-4b.yaml +0 -0
  277. {sie_server-0.7.1 → sie_server-0.7.3}/models/WhereIsAI__UAE-Large-V1.yaml +0 -0
  278. {sie_server-0.7.1 → sie_server-0.7.3}/models/answerdotai__ModernBERT-base.yaml +0 -0
  279. {sie_server-0.7.1 → sie_server-0.7.3}/models/answerdotai__ModernBERT-large.yaml +0 -0
  280. {sie_server-0.7.1 → sie_server-0.7.3}/models/answerdotai__answerai-colbert-small-v1.yaml +0 -0
  281. {sie_server-0.7.1 → sie_server-0.7.3}/models/colbert-ir__colbertv2.0.yaml +0 -0
  282. {sie_server-0.7.1 → sie_server-0.7.3}/models/cross-encoder__ms-marco-MiniLM-L-6-v2.yaml +0 -0
  283. {sie_server-0.7.1 → sie_server-0.7.3}/models/docling.yaml +0 -0
  284. {sie_server-0.7.1 → sie_server-0.7.3}/models/fastino__gliguard-LLMGuardrails-300M.yaml +0 -0
  285. {sie_server-0.7.1 → sie_server-0.7.3}/models/fastino__gliner2-base-v1.yaml +0 -0
  286. {sie_server-0.7.1 → sie_server-0.7.3}/models/fastino__gliner2-large-v1.yaml +0 -0
  287. {sie_server-0.7.1 → sie_server-0.7.3}/models/gliner-community__gliner_small-v2.5.yaml +0 -0
  288. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__embeddinggemma-300m.yaml +0 -0
  289. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__owlv2-base-patch16-ensemble.yaml +0 -0
  290. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__owlv2-large-patch14-ensemble.yaml +0 -0
  291. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__siglip-so400m-patch14-384.yaml +0 -0
  292. {sie_server-0.7.1 → sie_server-0.7.3}/models/google__siglip2-base-patch16-224.yaml +0 -0
  293. {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-30m-sparse.yaml +0 -0
  294. {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-embedding-97m-multilingual-r2.yaml +0 -0
  295. {sie_server-0.7.1 → sie_server-0.7.3}/models/ibm-granite__granite-guardian-3.0-2b.yaml +0 -0
  296. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-base-v2.yaml +0 -0
  297. {sie_server-0.7.1 → sie_server-0.7.3}/models/intfloat__e5-small-v2.yaml +0 -0
  298. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-colbert-v2.yaml +0 -0
  299. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-code.yaml +0 -0
  300. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-de.yaml +0 -0
  301. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-en.yaml +0 -0
  302. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-es.yaml +0 -0
  303. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-base-zh.yaml +0 -0
  304. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-embeddings-v2-small-en.yaml +0 -0
  305. {sie_server-0.7.1 → sie_server-0.7.3}/models/jinaai__jina-reranker-v2-base-multilingual.yaml +0 -0
  306. {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-large-v1.0.yaml +0 -0
  307. {sie_server-0.7.1 → sie_server-0.7.3}/models/knowledgator__gliclass-large-v3.0.yaml +0 -0
  308. {sie_server-0.7.1 → sie_server-0.7.3}/models/laion__CLIP-ViT-B-32-laion2B-s34B-b79K.yaml +0 -0
  309. {sie_server-0.7.1 → sie_server-0.7.3}/models/laion__CLIP-ViT-H-14-laion2B-s32B-b79K.yaml +0 -0
  310. {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__GTE-ModernColBERT-v1.yaml +0 -0
  311. {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__LightOnOCR-2-1B.yaml +0 -0
  312. {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__Reason-ModernColBERT.yaml +0 -0
  313. {sie_server-0.7.1 → sie_server-0.7.3}/models/lightonai__mLateOn.yaml +0 -0
  314. {sie_server-0.7.1 → sie_server-0.7.3}/models/microsoft__Florence-2-base-ft.yaml +0 -0
  315. {sie_server-0.7.1 → sie_server-0.7.3}/models/microsoft__Florence-2-large.yaml +0 -0
  316. {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-colbert-large-v1.yaml +0 -0
  317. {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-edge-colbert-v0-32m.yaml +0 -0
  318. {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-embed-large-v1.yaml +0 -0
  319. {sie_server-0.7.1 → sie_server-0.7.3}/models/mixedbread-ai__mxbai-rerank-base-v2.yaml +0 -0
  320. {sie_server-0.7.1 → sie_server-0.7.3}/models/mynkchaudhry__Florence-2-FT-DocVQA.yaml +0 -0
  321. {sie_server-0.7.1 → sie_server-0.7.3}/models/naver__v-splade-quality.yaml +0 -0
  322. {sie_server-0.7.1 → sie_server-0.7.3}/models/nomic-ai__nomic-embed-text-v1.5.yaml +0 -0
  323. {sie_server-0.7.1 → sie_server-0.7.3}/models/nomic-ai__nomic-embed-text-v2-moe.yaml +0 -0
  324. {sie_server-0.7.1 → sie_server-0.7.3}/models/numind__NuNER_Zero.yaml +0 -0
  325. {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__NV-Embed-v2.yaml +0 -0
  326. {sie_server-0.7.1 → sie_server-0.7.3}/models/nvidia__llama-embed-nemotron-8b.yaml +0 -0
  327. {sie_server-0.7.1 → sie_server-0.7.3}/models/openai__clip-vit-base-patch32.yaml +0 -0
  328. {sie_server-0.7.1 → sie_server-0.7.3}/models/openai__whisper-large-v3-turbo.yaml +0 -0
  329. {sie_server-0.7.1 → sie_server-0.7.3}/models/opendatalab__MinerU2.5-Pro-2604-1.2B.yaml +0 -0
  330. {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v3-distill.yaml +0 -0
  331. {sie_server-0.7.1 → sie_server-0.7.3}/models/opensearch-project__opensearch-neural-sparse-encoding-doc-v3-gte.yaml +0 -0
  332. {sie_server-0.7.1 → sie_server-0.7.3}/models/prithivida__Splade_PP_en_v2.yaml +0 -0
  333. {sie_server-0.7.1 → sie_server-0.7.3}/models/sie-fake.yaml +0 -0
  334. {sie_server-0.7.1 → sie_server-0.7.3}/models/sugiv__stablebridge-pruner-highlighter.yaml +0 -0
  335. {sie_server-0.7.1 → sie_server-0.7.3}/models/tencent__R3-embedding-0.6b.yaml +0 -0
  336. {sie_server-0.7.1 → sie_server-0.7.3}/models/tencent__R3-rerank-0.6b.yaml +0 -0
  337. {sie_server-0.7.1 → sie_server-0.7.3}/models/thenlper__gte-base.yaml +0 -0
  338. {sie_server-0.7.1 → sie_server-0.7.3}/models/thenlper__gte-large.yaml +0 -0
  339. {sie_server-0.7.1 → sie_server-0.7.3}/models/thenlper__gte-small.yaml +0 -0
  340. {sie_server-0.7.1 → sie_server-0.7.3}/models/topk-io__Iso-ModernColBERT.yaml +0 -0
  341. {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_multi-v2.1.yaml +0 -0
  342. {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_multi_pii-v1.yaml +0 -0
  343. {sie_server-0.7.1 → sie_server-0.7.3}/models/urchade__gliner_small-v2.1.yaml +0 -0
  344. {sie_server-0.7.1 → sie_server-0.7.3}/models/vidore__colSmol-256M.yaml +0 -0
  345. {sie_server-0.7.1 → sie_server-0.7.3}/models/zai-org__GLM-OCR.yaml +0 -0
  346. {sie_server-0.7.1 → sie_server-0.7.3}/scripts/generate_tokenize_fixture.py +0 -0
  347. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/__init__.py +0 -0
  348. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/_ipc_test_harness.py +0 -0
  349. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapter_call_loop.py +0 -0
  350. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/__init__.py +0 -0
  351. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_base_adapter.py +0 -0
  352. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_colbert_projection.py +0 -0
  353. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_colbert_utils.py +0 -0
  354. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_flash_base.py +0 -0
  355. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_flash_pack.py +0 -0
  356. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_multivector.py +0 -0
  357. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_pylate_dense.py +0 -0
  358. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_spec.py +0 -0
  359. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_types.py +0 -0
  360. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_utils.py +0 -0
  361. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/_vision_patch_embed.py +0 -0
  362. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/base.py +0 -0
  363. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bert_flash/__init__.py +0 -0
  364. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bert_flash_cross_encoder/__init__.py +0 -0
  365. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3/__init__.py +0 -0
  366. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3_flag/__init__.py +0 -0
  367. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3_flash/__init__.py +0 -0
  368. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/bge_m3_score_mixin.py +0 -0
  369. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert/__init__.py +0 -0
  370. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert_modernbert_flash/__init__.py +0 -0
  371. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert_modernbert_flash/adapter.py +0 -0
  372. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/colbert_rotary_flash/__init__.py +0 -0
  373. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/cross_encoder/__init__.py +0 -0
  374. {sie_server-0.7.1/src/sie_server/adapters/docling → sie_server-0.7.3/src/sie_server/adapters/ctranslate2}/__init__.py +0 -0
  375. {sie_server-0.7.1/src/sie_server/adapters/fake → sie_server-0.7.3/src/sie_server/adapters/docling}/__init__.py +0 -0
  376. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/errors.py +0 -0
  377. {sie_server-0.7.1/src/sie_server/adapters/gliner2 → sie_server-0.7.3/src/sie_server/adapters/fake}/__init__.py +0 -0
  378. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/fake/adapter.py +0 -0
  379. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner/__init__.py +0 -0
  380. {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
  381. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner2/adapter.py +0 -0
  382. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner2/classification.py +0 -0
  383. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gliner_bi/__init__.py +0 -0
  384. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/glirel/__init__.py +0 -0
  385. {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
  386. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/gte_sparse_flash/__init__.py +0 -0
  387. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/jina_flash_cross_encoder/__init__.py +0 -0
  388. {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
  389. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/lora.py +0 -0
  390. {sie_server-0.7.1/src/sie_server/adapters/owlv2 → sie_server-0.7.3/src/sie_server/adapters/mlx}/__init__.py +0 -0
  391. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/modernbert_flash/__init__.py +0 -0
  392. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/modernbert_flash_cross_encoder/__init__.py +0 -0
  393. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nli_classification/__init__.py +0 -0
  394. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nli_classification_flash/__init__.py +0 -0
  395. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/nomic_flash/__init__.py +0 -0
  396. {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
  397. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/peft_lora_mixin.py +0 -0
  398. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/pytorch_embedding/__init__.py +0 -0
  399. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen2_flash/__init__.py +0 -0
  400. {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
  401. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/qwen2_flash_cross_encoder/adapter.py +0 -0
  402. {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
  403. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/rope_flash/__init__.py +0 -0
  404. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sentence_transformer/__init__.py +0 -0
  405. {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
  406. {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
  407. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/_compat/sitecustomize.py +0 -0
  408. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang/cuda13.py +0 -0
  409. {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
  410. {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
  411. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/sglang_vision_extract/_compat/sitecustomize.py +0 -0
  412. {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
  413. {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
  414. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/splade_flash/adapter.py +0 -0
  415. {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
  416. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/stablebridge_pruner/__init__.py +0 -0
  417. {sie_server-0.7.1/src/sie_server/app → sie_server-0.7.3/src/sie_server/adapters/tensorrt_llm}/__init__.py +0 -0
  418. {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
  419. {sie_server-0.7.1/src/sie_server/health → sie_server-0.7.3/src/sie_server/adapters/whisper}/__init__.py +0 -0
  420. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/whisper/adapter.py +0 -0
  421. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/adapters/xlm_roberta_flash/__init__.py +0 -0
  422. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/__init__.py +0 -0
  423. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openai_audio.py +0 -0
  424. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/openapi.py +0 -0
  425. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/options.py +0 -0
  426. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/root.py +0 -0
  427. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/validation.py +0 -0
  428. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/api/ws.py +0 -0
  429. {sie_server-0.7.1/src/sie_server/observability → sie_server-0.7.3/src/sie_server/app}/__init__.py +0 -0
  430. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/app/app_factory.py +0 -0
  431. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/bundle_requirements.py +0 -0
  432. {sie_server-0.7.1/src/sie_server/processors → sie_server-0.7.3/src/sie_server/config}/__init__.py +0 -0
  433. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/config/package_artifacts.py +0 -0
  434. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/__init__.py +0 -0
  435. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/adaptive_batching.py +0 -0
  436. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/deps.py +0 -0
  437. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/encode_pipeline.py +0 -0
  438. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/gpu_health.py +0 -0
  439. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/hf_env.py +0 -0
  440. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/hot_reload.py +0 -0
  441. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/inference.py +0 -0
  442. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/inference_output.py +0 -0
  443. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/load_errors.py +0 -0
  444. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/memory.py +0 -0
  445. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/oom.py +0 -0
  446. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/pool_isolation.py +0 -0
  447. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/postprocessor.py +0 -0
  448. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/postprocessor_registry.py +0 -0
  449. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/__init__.py +0 -0
  450. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/audio.py +0 -0
  451. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/base.py +0 -0
  452. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor/text.py +0 -0
  453. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/preprocessor_registry.py +0 -0
  454. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/readiness.py +0 -0
  455. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/residency.py +0 -0
  456. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/runtime_options.py +0 -0
  457. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/score_cost.py +0 -0
  458. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/shutdown.py +0 -0
  459. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/text_tokens.py +0 -0
  460. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/timing.py +0 -0
  461. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/tokenizer.py +0 -0
  462. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/watcher.py +0 -0
  463. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/__init__.py +0 -0
  464. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/__init__.py +0 -0
  465. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/base.py +0 -0
  466. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/encode.py +0 -0
  467. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/extract.py +0 -0
  468. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/handlers/score.py +0 -0
  469. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/core/worker/oom_recovery.py +0 -0
  470. {sie_server-0.7.1/tests/adapters → sie_server-0.7.3/src/sie_server/health}/__init__.py +0 -0
  471. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/health/saturation.py +0 -0
  472. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/ipc_types.py +0 -0
  473. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/local_ingest_client.py +0 -0
  474. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/main.py +0 -0
  475. {sie_server-0.7.1/tests/api → sie_server-0.7.3/src/sie_server/observability}/__init__.py +0 -0
  476. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/generation_diagnostics.py +0 -0
  477. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/gpu.py +0 -0
  478. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/telemetry.py +0 -0
  479. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/observability/tracing.py +0 -0
  480. {sie_server-0.7.1/tests/app → sie_server-0.7.3/src/sie_server/processors}/__init__.py +0 -0
  481. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/admission.py +0 -0
  482. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/base.py +0 -0
  483. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/grammar_cache.py +0 -0
  484. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/grammar_compile.py +0 -0
  485. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/processors/work_class_scheduler.py +0 -0
  486. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/__init__.py +0 -0
  487. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/grammar.py +0 -0
  488. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/outputs.py +0 -0
  489. {sie_server-0.7.1 → sie_server-0.7.3}/src/sie_server/types/overflow_policy.py +0 -0
  490. {sie_server-0.7.1/tests/config → sie_server-0.7.3/tests/adapters}/__init__.py +0 -0
  491. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_base.py +0 -0
  492. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_bge_m3.py +0 -0
  493. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert.py +0 -0
  494. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_modernbert_flash_projection.py +0 -0
  495. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_modernbert_flash_tokenizer.py +0 -0
  496. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_projection.py +0 -0
  497. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_colbert_punctuation.py +0 -0
  498. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_factory_integration.py +0 -0
  499. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_fake.py +0 -0
  500. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_fake_catalog.py +0 -0
  501. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_fake_faults.py +0 -0
  502. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_flash_base.py +0 -0
  503. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_flash_pack.py +0 -0
  504. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliclass_contracts.py +0 -0
  505. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliclass_overflow_policy.py +0 -0
  506. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliner2.py +0 -0
  507. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliner_merge.py +0 -0
  508. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gliner_metering.py +0 -0
  509. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_glirel.py +0 -0
  510. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_glm_ocr.py +0 -0
  511. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_gte_sparse.py +0 -0
  512. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_jina_flash_cross_encoder.py +0 -0
  513. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_lighton_ocr.py +0 -0
  514. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_lora.py +0 -0
  515. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_mineru_vl.py +0 -0
  516. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_multivector.py +0 -0
  517. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_paddleocr_vl.py +0 -0
  518. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_pylate_dense.py +0 -0
  519. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_pytorch_embedding_model_encode.py +0 -0
  520. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_pytorch_embedding_revision.py +0 -0
  521. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_qwen2_flash_cross_encoder.py +0 -0
  522. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sentence_transformer.py +0 -0
  523. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_sparse_aggregation.py +0 -0
  524. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_splade_flash_parity.py +0 -0
  525. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_splade_packed_parity.py +0 -0
  526. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_splade_roberta_position_ids.py +0 -0
  527. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_stablebridge_integration.py +0 -0
  528. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_stablebridge_pruner.py +0 -0
  529. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_vision_patch_embed.py +0 -0
  530. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_visual_document.py +0 -0
  531. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_visual_muvera_postprocessors.py +0 -0
  532. {sie_server-0.7.1 → sie_server-0.7.3}/tests/adapters/test_whisper.py +0 -0
  533. {sie_server-0.7.1/tests/core → sie_server-0.7.3/tests/api}/__init__.py +0 -0
  534. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_canonical_profile_conformance.py +0 -0
  535. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_dtype_queue_http_parity.py +0 -0
  536. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_json_schema.py +0 -0
  537. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_encode_timing.py +0 -0
  538. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_health.py +0 -0
  539. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_helpers_telemetry.py +0 -0
  540. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_openai_audio.py +0 -0
  541. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_version_header.py +0 -0
  542. {sie_server-0.7.1 → sie_server-0.7.3}/tests/api/test_ws.py +0 -0
  543. {sie_server-0.7.1/tests/core/worker → sie_server-0.7.3/tests/app}/__init__.py +0 -0
  544. {sie_server-0.7.1 → sie_server-0.7.3}/tests/app/test_app_factory.py +0 -0
  545. {sie_server-0.7.1/tests/fake_stack → sie_server-0.7.3/tests/config}/__init__.py +0 -0
  546. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_answerai_colbert_profiles.py +0 -0
  547. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_bundle_coverage.py +0 -0
  548. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_colbertv2_profiles.py +0 -0
  549. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_config.py +0 -0
  550. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_generation_mode_profiles.py +0 -0
  551. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_gte_modern_colbert_profiles.py +0 -0
  552. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_h100_fp8_generation_profiles.py +0 -0
  553. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_jina_colbert_profiles.py +0 -0
  554. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_model_prewarm_grammars.py +0 -0
  555. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_muvera_profile_postprocessors.py +0 -0
  556. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_mxbai_colbert_profiles.py +0 -0
  557. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_mxbai_edge_colbert_profiles.py +0 -0
  558. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_nvidia_nemo_colembed_profiles.py +0 -0
  559. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_package_artifacts.py +0 -0
  560. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_profile_backend_consistency.py +0 -0
  561. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_profile_template_inheritance.py +0 -0
  562. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_qwen_generation_profiles.py +0 -0
  563. {sie_server-0.7.1 → sie_server-0.7.3}/tests/config/test_visual_muvera_containment.py +0 -0
  564. {sie_server-0.7.1/tests/health → sie_server-0.7.3/tests/core}/__init__.py +0 -0
  565. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_adaptive_batching.py +0 -0
  566. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_bundle_requirements.py +0 -0
  567. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_encode_format_output.py +0 -0
  568. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_gpu_health.py +0 -0
  569. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_hot_reload.py +0 -0
  570. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_idle_evict.py +0 -0
  571. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_inference.py +0 -0
  572. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_lora_generation_exclusion.py +0 -0
  573. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_memory.py +0 -0
  574. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_memory_synthetic.py +0 -0
  575. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_oom_detection.py +0 -0
  576. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_pool_isolation.py +0 -0
  577. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_postprocessor.py +0 -0
  578. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_postprocessor_registry.py +0 -0
  579. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_prepared.py +0 -0
  580. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_preprocessor_registry.py +0 -0
  581. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_quantization.py +0 -0
  582. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_readiness.py +0 -0
  583. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_async.py +0 -0
  584. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_core.py +0 -0
  585. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_deps.py +0 -0
  586. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_registry_multi_model.py +0 -0
  587. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_residency.py +0 -0
  588. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_revision_identity.py +0 -0
  589. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_runtime_options.py +0 -0
  590. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_shutdown.py +0 -0
  591. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_timing.py +0 -0
  592. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_watcher.py +0 -0
  593. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_backpressure.py +0 -0
  594. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_extract.py +0 -0
  595. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_lora.py +0 -0
  596. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_options.py +0 -0
  597. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_preformed.py +0 -0
  598. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/test_worker_score.py +0 -0
  599. {sie_server-0.7.1/tests/integration → sie_server-0.7.3/tests/core/worker}/__init__.py +0 -0
  600. {sie_server-0.7.1 → sie_server-0.7.3}/tests/core/worker/test_oom_recovery.py +0 -0
  601. {sie_server-0.7.1/tests/observability → sie_server-0.7.3/tests/fake_stack}/__init__.py +0 -0
  602. {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/conftest.py +0 -0
  603. {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_lost_result.py +0 -0
  604. {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_oom_ladder.py +0 -0
  605. {sie_server-0.7.1 → sie_server-0.7.3}/tests/fake_stack/test_sdk_surface.py +0 -0
  606. {sie_server-0.7.1/tests/processors → sie_server-0.7.3/tests/health}/__init__.py +0 -0
  607. {sie_server-0.7.1 → sie_server-0.7.3}/tests/health/test_saturation.py +0 -0
  608. {sie_server-0.7.1 → sie_server-0.7.3}/tests/health/test_worker_id_consistency.py +0 -0
  609. {sie_server-0.7.1/tests/type_defs → sie_server-0.7.3/tests/integration}/__init__.py +0 -0
  610. {sie_server-0.7.1 → sie_server-0.7.3}/tests/integration/test_chat_completions.py +0 -0
  611. {sie_server-0.7.1 → sie_server-0.7.3}/tests/integration/test_grammar_generate.py +0 -0
  612. {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_telemetry.py +0 -0
  613. {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_trace_propagation.py +0 -0
  614. {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_tracing.py +0 -0
  615. {sie_server-0.7.1 → sie_server-0.7.3}/tests/observability/test_worker_telemetry_benchmark.py +0 -0
  616. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_grammar_cache.py +0 -0
  617. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_grammar_compile.py +0 -0
  618. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_grammar_prewarm.py +0 -0
  619. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_streaming_admission.py +0 -0
  620. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_streaming_integration.py +0 -0
  621. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_tool_call_grammar.py +0 -0
  622. {sie_server-0.7.1 → sie_server-0.7.3}/tests/processors/test_work_class_scheduler.py +0 -0
  623. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_adapter_call_loop.py +0 -0
  624. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_cli_devices.py +0 -0
  625. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_cli_pool.py +0 -0
  626. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_decode_item.py +0 -0
  627. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_ipc_types_raw_output.py +0 -0
  628. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_local_ingest_client.py +0 -0
  629. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_parity_run_batch.py +0 -0
  630. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_queue_executor.py +0 -0
  631. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_queue_executor_stage1d.py +0 -0
  632. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_readiness.py +0 -0
  633. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_sdk_integration.py +0 -0
  634. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_server_process_fixture.py +0 -0
  635. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_server_smoke.py +0 -0
  636. {sie_server-0.7.1 → sie_server-0.7.3}/tests/test_stage1d_byte_identity.py +0 -0
  637. {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_inputs.py +0 -0
  638. {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_inputs_json_decode.py +0 -0
  639. {sie_server-0.7.1 → sie_server-0.7.3}/tests/type_defs/test_media_bytes.py +0 -0
  640. {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
- # Managed-service cloud provisioning secrets (cloud-provision / deploy/cloud).
146
- # Vendor credentials live in the env or a gitignored secrets file, never the
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 on sys.path. Content is identical across bundles.
105
- RUN echo "import sys; sys.path.insert(0, '/app/bundle-libs')" \
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 on sys.path via a .pth file executed by site.py at
114
- # interpreter startup. `sys.path.insert(0, ...)` puts bundle-libs at
115
- # position 0 so bundle-specific versions SHADOW shared venv versions
116
- # (required for the transformers5 bundle). Content is identical for every
117
- # bundle, so writing it here keeps the shared venv layer byte-identical.
118
- RUN echo "import sys; sys.path.insert(0, '/app/bundle-libs')" \
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 gemma bundle (sglang 0.5.13 / torch 2.11 / cu130, CUDA 13) is built by 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 gemma bundle (CUDA 13 / sglang 0.5.13 / torch 2.11 cu130) is built by
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-gemma``
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 && chown -R sie:sie /app/evals /app/.cache
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 (Gemma 4 / cu130 bundles)
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=gemma -t sie-server:cuda13-gemma .
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: the gemma bundle needs sglang 0.5.13, which pins
7
- # torch==2.11.0 (cu130) + transformers 5.8.x and JIT-compiles cu130 kernels
8
- # (flashinfer / tvm_ffi) through nvcc on first decode — so it requires a CUDA 13
9
- # devel runtime. Keeping it here (platform ``cuda13``) instead of inside
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 the gemma bundle overlays torch 2.11 (cu130) into bundle-libs
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=gemma
23
+ ARG BUNDLE=sglang-cu130
26
24
  ARG UV_VERSION=0.9.28
27
25
 
28
- # Build the internal Rust extension from checked-in source; it is not published
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 (#2339): its pins live in the root
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: just enough for curl + git; no deadsnakes PPA.
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 on sys.path via a .pth executed by site.py at startup.
121
- # sys.path.insert(0, ...) puts bundle-libs at position 0 so bundle-specific
122
- # versions SHADOW the shared venv (the gemma cu130 torch/transformers/sglang
123
- # overlay). Content is identical for every bundle, so writing it here keeps the
124
- # shared venv layer byte-identical.
125
- RUN echo "import sys; sys.path.insert(0, '/app/bundle-libs')" \
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). The gemma bundle needs torch 2.11
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 by a manual Modal GPU session (sglang
165
- # 0.5.13 / torch 2.11 / cu130 in a fresh venv).
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 cuda13 image CI smoke (.github/workflows/gemma-image.yml)
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 && chown -R sie:sie /app/evals /app/.cache
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
- ENV PATH="/app/.venv/bin:$PATH" \
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}"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: sie-server
3
- Version: 0.7.1
3
+ Version: 0.7.3
4
4
  Summary: Search Inference Engine - GPU inference server for search workloads
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -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` | `10` | How long the batch-former waits for additional items before dispatching. |
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
 
@@ -0,0 +1,6 @@
1
+ name: ctranslate2
2
+ priority: 19
3
+ adapters:
4
+ - sie_server.adapters.ctranslate2.generation
5
+ deps:
6
+ ctranslate2: '==4.8.1'
@@ -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
- pillow: '>=11,<12'
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: gemma
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-gemma`` (not ``cuda12-*``). Gemma 4 needs sglang
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
- # docker build task (tools/mise_tasks/docker_task.py) and mirrored by the release
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 (see issue #1415)
12
- # and reused by profiles that require newer generic engine features.
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 default/non-thinking
21
- # profiles stay on sglang 0.5.10.post1 / torch 2.9.1. Qwen3.6-27B native-window
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 gemma image carries two torches (~+3 GB); slimming
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 + flashinfer-python (0.5.13 builds).
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 (nightly quality-adapter 7B lanes
24
- # died on this for weeks — #1684). Declaring the dep here with an explicit
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'
@@ -1,5 +1,6 @@
1
1
  sie_id: Alibaba-NLP/gte-multilingual-base
2
2
  hf_id: Alibaba-NLP/gte-multilingual-base
3
+ hf_revision: 9bbca17d9273fd0d03d5725c7a4b0f6b45142062
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: BAAI/bge-reranker-large
2
2
  hf_id: BAAI/bge-reranker-large
3
+ hf_revision: 55611d7bca2a7133960a6d3b71e083071bbfc312
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: EmergentMethods/gliner_large_news-v2.1
2
2
  hf_id: EmergentMethods/gliner_large_news-v2.1
3
+ hf_revision: 1af0cd2ce3b4a2c660849f6c3a10c7a7bac3c6c6
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: GritLM/GritLM-7B
2
2
  hf_id: GritLM/GritLM-7B
3
+ hf_revision: cb7f7ffb99c0c24ca2c325d798d7ef5c455d5339
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: Ihor/gliner-biomed-large-v1.0
2
2
  hf_id: Ihor/gliner-biomed-large-v1.0
3
+ hf_revision: f79771210ab2111a2081ef31620fdb7342f602e9
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: Linq-AI-Research/Linq-Embed-Mistral
2
2
  hf_id: Linq-AI-Research/Linq-Embed-Mistral
3
+ hf_revision: 0c1a0b0589177079acc552433cad51d7c9132379
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: MoritzLaurer/ModernBERT-base-zeroshot-v2.0
2
2
  hf_id: MoritzLaurer/ModernBERT-base-zeroshot-v2.0
3
+ hf_revision: d421c4545a438fd006fb43f8b981c5d908faa1e1
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: MoritzLaurer/deberta-v3-base-zeroshot-v2.0
2
2
  hf_id: MoritzLaurer/deberta-v3-base-zeroshot-v2.0
3
+ hf_revision: 8e7e5af5983a0ddb1a5b45a38b129ab69e2258e8
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: MoritzLaurer/deberta-v3-large-zeroshot-v2.0
2
2
  hf_id: MoritzLaurer/deberta-v3-large-zeroshot-v2.0
3
+ hf_revision: cf44676c28ba7312e5c5f8f8d2c22b3e0c9cdae2
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -1,5 +1,6 @@
1
1
  sie_id: NovaSearch/stella_en_400M_v5
2
2
  hf_id: NovaSearch/stella_en_400M_v5
3
+ hf_revision: ffeb2b7ee715c226d4ffe5e4619f7dbb48624c20
3
4
  inputs:
4
5
  text: true
5
6
  image: false
@@ -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). The validation/co-residency harness, which packs two SGLang
19
- # instances onto a single 22 GiB L4, does NOT depend on this default — it
20
- # passes an explicit ``--max-seq-length``/``--context-length`` (see
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. The co-residency
43
- # harness still caps context explicitly when it has to share a card.
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
- # (the validation harness co-residents worker + baseline). If the
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 — MEASURED HumanEval 0.866 / MBPP 0.74 on
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 on A100 smoke
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 via the smoke
113
- # tool ``tools/smoke_qwen35_4b.py`` if SGLang version or
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 via ``tools/smoke_qwen35_4b.py``
270
- # once H100 access is set up. Scales ~2× off the A100-40GB number
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: