eigencore 0.4.0__tar.gz → 0.4.1__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.
- {eigencore-0.4.0 → eigencore-0.4.1}/.github/workflows/ci.yml +1 -1
- {eigencore-0.4.0 → eigencore-0.4.1}/CHANGELOG.md +8 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/CONTRIBUTING.md +1 -1
- {eigencore-0.4.0 → eigencore-0.4.1}/PKG-INFO +10 -7
- {eigencore-0.4.0 → eigencore-0.4.1}/README.md +7 -5
- {eigencore-0.4.0 → eigencore-0.4.1}/pyproject.toml +7 -2
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/__init__.py +1 -1
- eigencore-0.4.1/src/eigencore/__main__.py +6 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/cli/main.py +1 -1
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/inference.py +3 -2
- {eigencore-0.4.0 → eigencore-0.4.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/.github/workflows/release.yml +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/.gitignore +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/CODE_OF_CONDUCT.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/LICENSE +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/SECURITY.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/README-snippet.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/README.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-banner-animated.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-banner.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-banner.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-lockup-dark.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-lockup-dark.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-lockup-light.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-lockup-light.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-logo.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-logo.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-mark-small.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-wordmark-ink.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/eigencore-wordmark-light.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/favicon-16.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/favicon-32.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/favicon-512.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/favicon-apple-touch.png +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/favicon.ico +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/assets/brand/favicon.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/INDEX.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/architecture/competitive-landscape.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/architecture/local-inference-roadmap.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/architecture/ml-foundations.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/architecture/system-overview.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/DESIGN_HANDBOOK.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/TUI.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/terminal-chat.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/tui/approval-card.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/tui/chat-plain.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/tui/chat-wide.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/tui/onboarding-fit.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/tui/ssd-warning.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/design/tui/states.svg +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/presentation/SLIDES_V2.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/presentation/STUDY_GUIDE.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/research/adaptive-training.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/research/emergent-gaps.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/research/gemini-session-insights.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/research/matrix-math-foundations.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/research/sparse-activation-and-routing.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/FINAL_REPORT.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/HOPLITE_PROMPT.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/research/engine-fit.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/research/kernels.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/research/layerskip-ssd.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/research/sparse.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/research/specdec.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/review/research/tui-sandbox.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/roadmap/custom-model-plan.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/docs/roadmap/phased-plan.md +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/agent/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/agent/executor.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/agent/grammar.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/agent/policy.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/agent/react.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/agent/tool.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/analysis/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/analysis/sparsity.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/benchmark/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/benchmark/harness.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/cli/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/context/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/context/manager.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/layer_skip.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/prompt_lookup.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/pruning.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/sparse_inference.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/sparsity_experiment.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/engine/speculative.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/fit/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/fit/estimator.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/fit/gguf_meta.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/forge.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/hal/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/hal/_cpuid_win.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/hal/profiler.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/kernels/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/kernels/q4k.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/kernels/reference.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/models/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/models/registry.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/router/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/router/classifier.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/training/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/training/convergence.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/training/trainer.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/tui/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/tui/chat.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/tui/onboarding.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/src/eigencore/tui/theme.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/__init__.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_approval.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_benchmark.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_context.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_convergence.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_engine_integration.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_executor.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_fit.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_gpu_fit.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_grammar.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_kernels.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_kv_options.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_layer_skip.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_onboarding.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_optimization_audit.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_policy.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_profiler.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_prompt_lookup.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_pruning.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_react.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_registry_moe.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_router.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_sparse_inference.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_sparsity_experiment.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_speculative.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_tool.py +0 -0
- {eigencore-0.4.0 → eigencore-0.4.1}/tests/test_tui_chat.py +0 -0
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
- name: Install dependencies
|
|
26
26
|
run: |
|
|
27
27
|
python -m pip install --upgrade pip
|
|
28
|
-
pip install -e ".[dev]" --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
|
|
28
|
+
pip install -e ".[dev,inference]" --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
|
|
29
29
|
|
|
30
30
|
- name: Lint
|
|
31
31
|
run: ruff check src/ tests/
|
|
@@ -4,6 +4,14 @@ All notable changes to EigenCore. Format based on [Keep a Changelog](https://kee
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.4.1] - 2026-11-11
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Packaging: `llama-cpp-python` moved from a hard dependency to the optional `[inference]` extra, because PyPI has no Windows wheel for it and a source build needs a C++ toolchain (broke `pip install eigencore` on plain Windows machines). Core CLI now installs with a bare `pip install eigencore`; inference commands raise a clear hint to install `eigencore[inference]` with the prebuilt wheel index. Added `python -m eigencore` entry point. README/CONTRIBUTING dev setup uses `.[dev,inference]`; CI installs `.[dev,inference]` with the CPU wheel index.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Packaging: `llama-cpp-python` moved from a hard dependency to the optional `[inference]` extra, because PyPI has no Windows wheel for it and a source build needs a C++ toolchain (broke `pip install eigencore` on plain Windows machines). Core CLI now installs with a bare `pip install eigencore`; inference commands raise a clear hint to install `eigencore[inference]` with the prebuilt wheel index. Added `python -m eigencore` entry point. README quick start updated to the two-step install.
|
|
14
|
+
|
|
7
15
|
## [0.4.0] - 2026-11-11
|
|
8
16
|
|
|
9
17
|
### Added
|
|
@@ -12,7 +12,7 @@ Thanks for helping. EigenCore is a small, pre-alpha project, so this guide is sh
|
|
|
12
12
|
```bash
|
|
13
13
|
git clone https://github.com/Khubaib7-del/EigenCore.git
|
|
14
14
|
cd EigenCore
|
|
15
|
-
python -m pip install -e ".[dev]"
|
|
15
|
+
python -m pip install -e ".[dev,inference]"
|
|
16
16
|
pytest tests/ -v
|
|
17
17
|
ruff check src/ tests/
|
|
18
18
|
ruff format --check src/ tests/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: eigencore
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: CPU-first LLM intelligence runtime — hardware-aware inference, training, and agent orchestration
|
|
5
5
|
Author-email: Khubaib Nazeer <khubaibnazeer8@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -15,12 +15,13 @@ Requires-Python: >=3.10
|
|
|
15
15
|
Requires-Dist: click>=8.0.0
|
|
16
16
|
Requires-Dist: gguf>=0.10.0
|
|
17
17
|
Requires-Dist: huggingface-hub>=0.20.0
|
|
18
|
-
Requires-Dist: llama-cpp-python>=0.3.0
|
|
19
18
|
Requires-Dist: psutil>=5.9.0
|
|
20
19
|
Requires-Dist: rich>=13.0.0
|
|
21
20
|
Provides-Extra: dev
|
|
22
21
|
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
23
22
|
Requires-Dist: ruff<0.15,>=0.4.0; extra == 'dev'
|
|
23
|
+
Provides-Extra: inference
|
|
24
|
+
Requires-Dist: llama-cpp-python>=0.3.0; extra == 'inference'
|
|
24
25
|
Provides-Extra: train
|
|
25
26
|
Requires-Dist: bitsandbytes>=0.43.0; extra == 'train'
|
|
26
27
|
Requires-Dist: peft>=0.10.0; extra == 'train'
|
|
@@ -50,11 +51,13 @@ EigenCore profiles a machine, estimates whether a local model fits, and runs inf
|
|
|
50
51
|
Install from PyPI:
|
|
51
52
|
|
|
52
53
|
```bash
|
|
54
|
+
# core CLI (no compiler needed):
|
|
53
55
|
python -m pip install eigencore
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
|
|
57
|
-
#
|
|
56
|
+
# + the native inference backend (llama.cpp has no Windows wheel on PyPI,
|
|
57
|
+
# so use the prebuilt index; on GPU machines use the CUDA index instead):
|
|
58
|
+
python -m pip install "eigencore[inference]" --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
|
|
59
|
+
# pipx alternative: pipx install "eigencore[inference]"
|
|
60
|
+
# from source (development): git clone ... && python -m pip install -e ".[dev,inference]"
|
|
58
61
|
|
|
59
62
|
eigencore profile
|
|
60
63
|
eigencore models
|
|
@@ -116,7 +119,7 @@ This is a module map, not a process-isolation diagram. In particular, the curren
|
|
|
116
119
|
## Development
|
|
117
120
|
|
|
118
121
|
```bash
|
|
119
|
-
python -m pip install -e ".[dev]"
|
|
122
|
+
python -m pip install -e ".[dev,inference]"
|
|
120
123
|
pytest tests/ -v
|
|
121
124
|
ruff check src/ tests/
|
|
122
125
|
ruff format --check src/ tests/
|
|
@@ -20,11 +20,13 @@ EigenCore profiles a machine, estimates whether a local model fits, and runs inf
|
|
|
20
20
|
Install from PyPI:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
+
# core CLI (no compiler needed):
|
|
23
24
|
python -m pip install eigencore
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
#
|
|
25
|
+
# + the native inference backend (llama.cpp has no Windows wheel on PyPI,
|
|
26
|
+
# so use the prebuilt index; on GPU machines use the CUDA index instead):
|
|
27
|
+
python -m pip install "eigencore[inference]" --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
|
|
28
|
+
# pipx alternative: pipx install "eigencore[inference]"
|
|
29
|
+
# from source (development): git clone ... && python -m pip install -e ".[dev,inference]"
|
|
28
30
|
|
|
29
31
|
eigencore profile
|
|
30
32
|
eigencore models
|
|
@@ -86,7 +88,7 @@ This is a module map, not a process-isolation diagram. In particular, the curren
|
|
|
86
88
|
## Development
|
|
87
89
|
|
|
88
90
|
```bash
|
|
89
|
-
python -m pip install -e ".[dev]"
|
|
91
|
+
python -m pip install -e ".[dev,inference]"
|
|
90
92
|
pytest tests/ -v
|
|
91
93
|
ruff check src/ tests/
|
|
92
94
|
ruff format --check src/ tests/
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "eigencore"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.1"
|
|
8
8
|
description = "CPU-first LLM intelligence runtime — hardware-aware inference, training, and agent orchestration"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -26,10 +26,15 @@ dependencies = [
|
|
|
26
26
|
"click>=8.0.0",
|
|
27
27
|
"huggingface-hub>=0.20.0",
|
|
28
28
|
"gguf>=0.10.0",
|
|
29
|
-
"llama-cpp-python>=0.3.0",
|
|
30
29
|
]
|
|
31
30
|
|
|
32
31
|
[project.optional-dependencies]
|
|
32
|
+
inference = [
|
|
33
|
+
# Native backend; has no Windows wheel on PyPI, so install it with the
|
|
34
|
+
# prebuilt CPU index on Windows, or a CUDA wheel for GPU machines:
|
|
35
|
+
# pip install "eigencore[inference]" --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
|
|
36
|
+
"llama-cpp-python>=0.3.0",
|
|
37
|
+
]
|
|
33
38
|
dev = [
|
|
34
39
|
"pytest>=8.0.0",
|
|
35
40
|
"ruff>=0.4.0,<0.15",
|
|
@@ -80,7 +80,7 @@ def _fit_for_spec(spec, hw, registry, kv_quant: str = "fp16"):
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
@click.group()
|
|
83
|
-
@click.version_option(version="0.4.
|
|
83
|
+
@click.version_option(version="0.4.1", prog_name="eigencore")
|
|
84
84
|
def cli():
|
|
85
85
|
"""EigenCore — CPU-first LLM intelligence runtime."""
|
|
86
86
|
|
|
@@ -90,8 +90,9 @@ class InferenceEngine:
|
|
|
90
90
|
from llama_cpp import Llama
|
|
91
91
|
except ImportError:
|
|
92
92
|
raise ImportError(
|
|
93
|
-
"llama-cpp-python is required for inference. "
|
|
94
|
-
|
|
93
|
+
"llama-cpp-python is required for inference. Install the backend extra: "
|
|
94
|
+
'pip install "eigencore[inference]" '
|
|
95
|
+
"--extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu"
|
|
95
96
|
)
|
|
96
97
|
|
|
97
98
|
ctx_length = self.profile.recommended_context_length
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|