mirror of
https://github.com/bentoml/OpenLLM.git
synced 2026-02-18 22:55:08 -05:00
codespace now around 2.8k lines Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
17 lines
1017 B
Python
17 lines
1017 B
Python
import functools, importlib.metadata, openllm_core
|
|
__all__ = ['generate_labels', 'available_devices', 'device_count']
|
|
def generate_labels(llm):
|
|
return {
|
|
'backend': llm.__llm_backend__, 'framework': 'openllm', 'model_name': llm.config['model_name'], #
|
|
'architecture': llm.config['architecture'], 'serialisation': llm._serialisation, #
|
|
**{package: importlib.metadata.version(package) for package in {'openllm', 'openllm-core', 'openllm-client'}},
|
|
}
|
|
def available_devices(): from ._strategies import NvidiaGpuResource; return tuple(NvidiaGpuResource.from_system())
|
|
@functools.lru_cache(maxsize=1)
|
|
def device_count() -> int: return len(available_devices())
|
|
def __dir__():
|
|
coreutils = set(dir(openllm_core.utils)) | set([it for it in openllm_core.utils._extras if not it.startswith('_')]); return sorted(__all__) + sorted(list(coreutils))
|
|
def __getattr__(it):
|
|
if hasattr(openllm_core.utils, it): return getattr(openllm_core.utils, it)
|
|
raise AttributeError(f'module {__name__} has no attribute {it}')
|