hugpy-engine 0.2.0a0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hugpy_engine/__init__.py +163 -0
- hugpy_engine/alloc_modes.py +1254 -0
- hugpy_engine/allocation.py +68 -0
- hugpy_engine/apis/__init__.py +0 -0
- hugpy_engine/apis/call_api.py +149 -0
- hugpy_engine/apis/get_module.py +606 -0
- hugpy_engine/apis/reclassify.py +123 -0
- hugpy_engine/apis/reconcile.py +628 -0
- hugpy_engine/apis/serve/__init__.py +22 -0
- hugpy_engine/apis/serve/serve.py +34 -0
- hugpy_engine/apis/serve/serve_cli.py +9 -0
- hugpy_engine/apis/systemd_units.py +9 -0
- hugpy_engine/backend.py +86 -0
- hugpy_engine/backends/__init__.py +5 -0
- hugpy_engine/backends/local.py +163 -0
- hugpy_engine/catalog.py +99 -0
- hugpy_engine/catalog_bridge.py +223 -0
- hugpy_engine/categories.py +117 -0
- hugpy_engine/chat_context/__init__.py +27 -0
- hugpy_engine/chat_context/chat_context.py +199 -0
- hugpy_engine/chat_context/context_budget.py +223 -0
- hugpy_engine/chat_context/unbounded.py +55 -0
- hugpy_engine/config/__init__.py +0 -0
- hugpy_engine/config/main.py +270 -0
- hugpy_engine/config/models/__init__.py +0 -0
- hugpy_engine/config/models/model_meta.py +169 -0
- hugpy_engine/config/models/models_config.py +1495 -0
- hugpy_engine/config/models/models_default.py +196 -0
- hugpy_engine/config/models/models_dict.py +73 -0
- hugpy_engine/contracts.py +44 -0
- hugpy_engine/dispatch/__init__.py +37 -0
- hugpy_engine/dispatch/acquire.py +59 -0
- hugpy_engine/dispatch/activity.py +92 -0
- hugpy_engine/dispatch/dispatch.py +1100 -0
- hugpy_engine/draft_models.py +72 -0
- hugpy_engine/engines.py +44 -0
- hugpy_engine/eviction.py +654 -0
- hugpy_engine/generate/__init__.py +16 -0
- hugpy_engine/generate/coder.py +667 -0
- hugpy_engine/generate/config.py +185 -0
- hugpy_engine/generate/generate_runner.py +273 -0
- hugpy_engine/gguf_election.py +259 -0
- hugpy_engine/llama/__init__.py +23 -0
- hugpy_engine/llama/runners/__init__.py +23 -0
- hugpy_engine/llama/runners/chat_runner.py +243 -0
- hugpy_engine/llama/runners/get.py +524 -0
- hugpy_engine/llama/runners/src/__init__.py +9 -0
- hugpy_engine/llama/runners/src/base_runner.py +529 -0
- hugpy_engine/llama/runners/src/ccp_runner.py +332 -0
- hugpy_engine/llama/runners/src/imports/__init__.py +25 -0
- hugpy_engine/llama/runners/src/imports/config.py +16 -0
- hugpy_engine/llama/runners/src/imports/constants.py +38 -0
- hugpy_engine/llama/runners/src/imports/init_imports.py +6 -0
- hugpy_engine/llama/runners/src/imports/utils.py +64 -0
- hugpy_engine/llama/runners/src/python_runner.py +432 -0
- hugpy_engine/llama/runners/src/shard_server.py +339 -0
- hugpy_engine/llama/runners/src/shard_server.py.bak-shardorder +329 -0
- hugpy_engine/llama/serve.py +9 -0
- hugpy_engine/manifest.py +53 -0
- hugpy_engine/model_classifier.py +374 -0
- hugpy_engine/model_index/__init__.py +74 -0
- hugpy_engine/model_index/client.py +94 -0
- hugpy_engine/model_index/query_registry.py +245 -0
- hugpy_engine/model_index/repositories.py +163 -0
- hugpy_engine/model_index/service.py +243 -0
- hugpy_engine/name_match.py +287 -0
- hugpy_engine/native/__init__.py +19 -0
- hugpy_engine/native/build.py +98 -0
- hugpy_engine/native/fetch.py +194 -0
- hugpy_engine/native/resolve.py +352 -0
- hugpy_engine/peft_adapters.py +293 -0
- hugpy_engine/placement.py +459 -0
- hugpy_engine/py.typed +0 -0
- hugpy_engine/query.py +173 -0
- hugpy_engine/resolvers/__init__.py +24 -0
- hugpy_engine/resolvers/allocator.py +126 -0
- hugpy_engine/resolvers/assure_model_key.py +331 -0
- hugpy_engine/resolvers/categories/__init__.py +22 -0
- hugpy_engine/resolvers/categories/builders.py +159 -0
- hugpy_engine/resolvers/categories/frameworks.py +67 -0
- hugpy_engine/resolvers/groups.py +651 -0
- hugpy_engine/resolvers/model_dict_resolver.py +122 -0
- hugpy_engine/resolvers/model_resolver.py +533 -0
- hugpy_engine/resolvers/remote.py +2992 -0
- hugpy_engine/runtime.py +68 -0
- hugpy_engine/schemas/__init__.py +0 -0
- hugpy_engine/schemas/chat_schemas.py +320 -0
- hugpy_engine/schemas/event_schemas.py +52 -0
- hugpy_engine/schemas/metadata_schemas.py +62 -0
- hugpy_engine/schemas/model_schemas.py +101 -0
- hugpy_engine/schemas/runner_schemas.py +33 -0
- hugpy_engine/schemas/task_schemas.py +45 -0
- hugpy_engine/serve/__init__.py +58 -0
- hugpy_engine/serve/chunksum_verify.py +213 -0
- hugpy_engine/serve/hot_cache.py +1014 -0
- hugpy_engine/serve/model_cache.py +218 -0
- hugpy_engine/serve/overrides.py +968 -0
- hugpy_engine/serve/policy.py +45 -0
- hugpy_engine/serve/profiles.py +362 -0
- hugpy_engine/serve/serve.py +889 -0
- hugpy_engine/serve/serve.py.bak-present-20260918-035851 +863 -0
- hugpy_engine/serve/serve.py.bak-servelog-20260918-035149 +863 -0
- hugpy_engine/serve/serve_cli.py +85 -0
- hugpy_engine/serve/slot_agent.py +2119 -0
- hugpy_engine/serve/slot_agent.py.bak-quietlog-20260918-023710 +2046 -0
- hugpy_engine/serve/slot_agent.py.bak-slotparallel-20260918-112917 +2064 -0
- hugpy_engine/serve/slot_agent.py.bak-wzfilter-20260918-041625 +2047 -0
- hugpy_engine/serve/slots.py +630 -0
- hugpy_engine/serve/supervisor.py +148 -0
- hugpy_engine/spill.py +1464 -0
- hugpy_engine/task_deps.py +67 -0
- hugpy_engine/tasks.py +349 -0
- hugpy_engine/utils/__init__.py +0 -0
- hugpy_engine/utils/json_scavenge.py +111 -0
- hugpy_engine/utils/no_think.py +370 -0
- hugpy_engine/wire/__init__.py +0 -0
- hugpy_engine/wire/chat_schemas.py +66 -0
- hugpy_engine/wire/config_schemas.py +31 -0
- hugpy_engine/wire/install_schemas.py +17 -0
- hugpy_engine/wire/model_schemas.py +43 -0
- hugpy_engine/wire/request_schemas.py +13 -0
- hugpy_engine/wire/specs_schemas.py +9 -0
- hugpy_engine-0.2.0a0.dist-info/METADATA +116 -0
- hugpy_engine-0.2.0a0.dist-info/RECORD +128 -0
- hugpy_engine-0.2.0a0.dist-info/WHEEL +5 -0
- hugpy_engine-0.2.0a0.dist-info/entry_points.txt +2 -0
- hugpy_engine-0.2.0a0.dist-info/licenses/LICENSE +41 -0
- hugpy_engine-0.2.0a0.dist-info/top_level.txt +1 -0
hugpy_engine/__init__.py
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"""Standalone Hugpy inference boundary.
|
|
2
|
+
|
|
3
|
+
Prompt/messages -> model discovery and resolution -> RAM/VRAM allocation ->
|
|
4
|
+
engine/runner selection -> generation -> streamed events or a completed reply.
|
|
5
|
+
|
|
6
|
+
The package imports CPU-only: llama_cpp / torch / transformers / peft load
|
|
7
|
+
lazily inside the runner that needs them (``pip install hugpy-engine[gguf]``,
|
|
8
|
+
``[transformers]``, ``[finetune]``). Engine-owned contracts (task capability
|
|
9
|
+
map, catalog vocabulary, manifest helpers, wire schemas, the placement and
|
|
10
|
+
task-plugin seams) are exposed lazily via ``__getattr__`` so ``import
|
|
11
|
+
hugpy_engine`` stays light.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import importlib
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
from importlib.metadata import version as _package_version
|
|
20
|
+
|
|
21
|
+
__version__ = _package_version("hugpy-engine")
|
|
22
|
+
except Exception:
|
|
23
|
+
__version__ = "0.0.0+unknown" # source tree without metadata
|
|
24
|
+
|
|
25
|
+
from .allocation import (
|
|
26
|
+
allocation_spill,
|
|
27
|
+
choose_allocation,
|
|
28
|
+
feasible_allocations,
|
|
29
|
+
plan_admission,
|
|
30
|
+
resource_status,
|
|
31
|
+
)
|
|
32
|
+
from .backend import InferenceBackend, backend_scope, configure_backend, get_backend
|
|
33
|
+
from .catalog import get_model, list_models, refresh_models, resolve_model, text_chat_task
|
|
34
|
+
from .contracts import ModelDescriptor, QueryError, QueryResult
|
|
35
|
+
from .engines import (
|
|
36
|
+
build_native_engine,
|
|
37
|
+
evict_llama_runner,
|
|
38
|
+
install_native_engine,
|
|
39
|
+
llama_runner,
|
|
40
|
+
loaded_llama_runners,
|
|
41
|
+
native_engine_binaries,
|
|
42
|
+
native_engine_status,
|
|
43
|
+
)
|
|
44
|
+
from .query import query, query_result, query_result_sync, query_sync, stream_query
|
|
45
|
+
from .runtime import (
|
|
46
|
+
clear_models,
|
|
47
|
+
evict_model,
|
|
48
|
+
execute_request,
|
|
49
|
+
loaded_models,
|
|
50
|
+
loading_models,
|
|
51
|
+
resolve_request,
|
|
52
|
+
runner_for,
|
|
53
|
+
stream_chat_request,
|
|
54
|
+
stream_request,
|
|
55
|
+
supported_tasks,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
# Engine-owned contracts and seams, resolved on first attribute access
|
|
59
|
+
# (PEP 562) so the package import never touches discovery or pydantic.
|
|
60
|
+
_LAZY = {
|
|
61
|
+
# task capability map (consumed by fleet, oracle, server)
|
|
62
|
+
"TASK_DEPS": ("hugpy_engine.task_deps", "TASK_DEPS"),
|
|
63
|
+
"task_capabilities": ("hugpy_engine.task_deps", "task_capabilities"),
|
|
64
|
+
# catalog vocabulary
|
|
65
|
+
"HF_TASK_TO_TASKS": ("hugpy_engine.categories", "HF_TASK_TO_TASKS"),
|
|
66
|
+
"RUNNER_PAIRS": ("hugpy_engine.categories", "RUNNER_PAIRS"),
|
|
67
|
+
"TASK_DEFAULTS": ("hugpy_engine.categories", "TASK_DEFAULTS"),
|
|
68
|
+
"MEDIA_DEFAULTS": ("hugpy_engine.categories", "MEDIA_DEFAULTS"),
|
|
69
|
+
# manifest helpers
|
|
70
|
+
"load_manifest": ("hugpy_engine.manifest", "load_manifest"),
|
|
71
|
+
"load_manifest_or_empty": ("hugpy_engine.manifest", "load_manifest_or_empty"),
|
|
72
|
+
"save_manifest": ("hugpy_engine.manifest", "save_manifest"),
|
|
73
|
+
"key_for_hub_id": ("hugpy_engine.manifest", "key_for_hub_id"),
|
|
74
|
+
"upsert_model": ("hugpy_engine.manifest", "upsert_model"),
|
|
75
|
+
# seams
|
|
76
|
+
"placement": ("hugpy_engine.placement", None),
|
|
77
|
+
"tasks": ("hugpy_engine.tasks", None),
|
|
78
|
+
"register_task": ("hugpy_engine.tasks", "register_task"),
|
|
79
|
+
"runner_for_task": ("hugpy_engine.tasks", "runner_for_task"),
|
|
80
|
+
"request_builder_for_task": ("hugpy_engine.tasks", "request_builder_for_task"),
|
|
81
|
+
"catalog_bridge": ("hugpy_engine.catalog_bridge", None),
|
|
82
|
+
"LocalBackend": ("hugpy_engine.backends.local", "LocalBackend"),
|
|
83
|
+
# wire schema modules (pydantic bodies shared with the HTTP layer)
|
|
84
|
+
"wire": ("hugpy_engine.wire", None),
|
|
85
|
+
"schemas": ("hugpy_engine.schemas", None),
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def __getattr__(name: str):
|
|
90
|
+
target = _LAZY.get(name)
|
|
91
|
+
if target is None:
|
|
92
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
93
|
+
module = importlib.import_module(target[0])
|
|
94
|
+
value = module if target[1] is None else getattr(module, target[1])
|
|
95
|
+
globals()[name] = value
|
|
96
|
+
return value
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def __dir__():
|
|
100
|
+
return sorted(set(globals()) | set(_LAZY))
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
__all__ = [
|
|
104
|
+
"HF_TASK_TO_TASKS",
|
|
105
|
+
"InferenceBackend",
|
|
106
|
+
"LocalBackend",
|
|
107
|
+
"MEDIA_DEFAULTS",
|
|
108
|
+
"ModelDescriptor",
|
|
109
|
+
"QueryError",
|
|
110
|
+
"QueryResult",
|
|
111
|
+
"RUNNER_PAIRS",
|
|
112
|
+
"TASK_DEFAULTS",
|
|
113
|
+
"TASK_DEPS",
|
|
114
|
+
"allocation_spill",
|
|
115
|
+
"backend_scope",
|
|
116
|
+
"build_native_engine",
|
|
117
|
+
"catalog_bridge",
|
|
118
|
+
"choose_allocation",
|
|
119
|
+
"clear_models",
|
|
120
|
+
"configure_backend",
|
|
121
|
+
"evict_llama_runner",
|
|
122
|
+
"evict_model",
|
|
123
|
+
"execute_request",
|
|
124
|
+
"feasible_allocations",
|
|
125
|
+
"get_backend",
|
|
126
|
+
"get_model",
|
|
127
|
+
"install_native_engine",
|
|
128
|
+
"key_for_hub_id",
|
|
129
|
+
"list_models",
|
|
130
|
+
"llama_runner",
|
|
131
|
+
"load_manifest",
|
|
132
|
+
"load_manifest_or_empty",
|
|
133
|
+
"loaded_llama_runners",
|
|
134
|
+
"loaded_models",
|
|
135
|
+
"loading_models",
|
|
136
|
+
"native_engine_binaries",
|
|
137
|
+
"native_engine_status",
|
|
138
|
+
"placement",
|
|
139
|
+
"plan_admission",
|
|
140
|
+
"query",
|
|
141
|
+
"query_result",
|
|
142
|
+
"query_result_sync",
|
|
143
|
+
"query_sync",
|
|
144
|
+
"refresh_models",
|
|
145
|
+
"register_task",
|
|
146
|
+
"request_builder_for_task",
|
|
147
|
+
"resolve_model",
|
|
148
|
+
"resolve_request",
|
|
149
|
+
"resource_status",
|
|
150
|
+
"runner_for",
|
|
151
|
+
"runner_for_task",
|
|
152
|
+
"save_manifest",
|
|
153
|
+
"schemas",
|
|
154
|
+
"stream_chat_request",
|
|
155
|
+
"stream_query",
|
|
156
|
+
"stream_request",
|
|
157
|
+
"supported_tasks",
|
|
158
|
+
"task_capabilities",
|
|
159
|
+
"tasks",
|
|
160
|
+
"text_chat_task",
|
|
161
|
+
"upsert_model",
|
|
162
|
+
"wire",
|
|
163
|
+
]
|