mirror of
https://github.com/Niko1221/Strata.git
synced 2026-11-10 03:41:36 -10:00
- Prompt lookup on by default: the suffix drafter's windows are taken only where a learned policy (measured acceptance per match length, measured window cost) expects more tokens per ms than the MTP window; lookup windows up to --spec + 2. Code edits +6-11%, other text unchanged, verified output identical. --suffix-draft 0 = off. - Per-request sampling (#19) keeps greedy requests on the in-graph sampler (no extra launch per window), and draws row t of a window with Philox(seed, pos0 + t), so a seed replays the same text whatever the drafts were. - tools: a shallow install (G:\Strata) no longer crashes the MTP packer and the pack tools (IndexError, #20). - setup: says at step 1 when the PC has less RAM than the smallest model needs; requires engine 0.1.7.
29 lines
1007 B
Python
29 lines
1007 B
Python
"""tools/_paths.py - where the tools find llama.cpp's gguf-py (for the MTP packer and the fixtures).
|
|
|
|
Order: $STRATA_GGUF_PY, then <engine>/third_party/llama.cpp/gguf-py (what setup.py clones), then the development
|
|
tree's ../../.ref/llama.cpp/gguf-py.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
ENGINE = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def gguf_py() -> str:
|
|
cands = [os.environ.get("STRATA_GGUF_PY"), ENGINE / "third_party" / "llama.cpp" / "gguf-py",
|
|
ENGINE.parents[min(1, len(ENGINE.parents) - 1)] / ".ref" / "llama.cpp" / "gguf-py"] # the dev tree; a shallow install (G:\Strata) has no grandparent
|
|
for c in cands:
|
|
if c and (Path(c) / "gguf").is_dir():
|
|
return str(c)
|
|
sys.exit("llama.cpp's gguf-py was not found: run setup.py (it clones llama.cpp into third_party/), "
|
|
"or set STRATA_GGUF_PY")
|
|
|
|
|
|
def add_gguf_py() -> None:
|
|
p = gguf_py()
|
|
if p not in sys.path:
|
|
sys.path.insert(0, p)
|