phantom-grid / scripts /detect_local_llm.py
unity4ar's picture
Ship Phantom Grid Docker Space
d2e6f94 verified
Raw
History Blame Contribute Delete
2.2 kB
from __future__ import annotations
import shutil
from pathlib import Path
SEARCH_ROOTS = [
Path.home() / "Downloads",
Path.home() / "models",
Path.home() / "Models",
Path.home() / ".cache",
Path.home() / ".cache" / "lm-studio",
Path.home() / ".lmstudio",
Path.home() / ".lmstudio-home",
Path.home() / ".llamafile",
]
def main() -> None:
add_lmstudio_home_pointer()
server = shutil.which("llama-server") or shutil.which("llama-server.exe")
cli = shutil.which("llama-cli") or shutil.which("llama-cli.exe")
print(f"llama-server: {server or 'not found on PATH'}")
print(f"llama-cli: {cli or 'not found on PATH'}")
print()
print("Likely Gemma-family GGUF models:")
for model in find_models(limit=20):
print(model)
def find_models(limit: int) -> list[Path]:
found: list[Path] = []
for root in SEARCH_ROOTS:
if not root.exists():
continue
try:
for path in bounded_rglob(root, "*.gguf", max_dirs=3000):
name = path.name.lower()
if "gemma" in name or "4b" in name:
found.append(path)
if len(found) >= limit:
return found
except OSError:
continue
return found
def add_lmstudio_home_pointer() -> None:
pointer = Path.home() / ".lmstudio-home-pointer"
if not pointer.exists():
return
try:
target = Path(pointer.read_text(encoding="utf-8").strip())
except OSError:
return
if target.exists() and target not in SEARCH_ROOTS:
SEARCH_ROOTS.append(target)
def bounded_rglob(root: Path, pattern: str, max_dirs: int) -> list[Path]:
results: list[Path] = []
pending = [root]
visited = 0
while pending and visited < max_dirs:
current = pending.pop()
visited += 1
try:
for child in current.iterdir():
if child.is_dir():
pending.append(child)
elif child.match(pattern):
results.append(child)
except OSError:
continue
return results
if __name__ == "__main__":
main()