Skip to content

[Feature Request] Enhancing Local LLM Performance (Ollama) & High-Core CPU Scaling via graphify.yaml #792

Description

@RANGERVIII

I’ve been stress-testing graphify on a high-end local workstation (Ryzen 9 9950X3D, RTX 5090). While the tool is conceptually brilliant, the current hardcoded limits and environment-variable-only configuration create significant bottlenecks for local-first workflows.

Current Bottlenecks Identified:

  1. CPU Underutilization: In extract.py, max_workers is capped at 8. On a 32-thread CPU, this limits AST extraction performance by 400%.
  2. Local API Timeouts: The default token_budget (60k) and max_concurrency (4) are ideal for Cloud APIs but cause Request timed out or VRAM OOMs on local Ollama/llama.cpp instances during semantic extraction.
  3. Authentication Friction: The CLI blocks execution if OLLAMA_API_KEY is missing, even when targeting a local instance where no auth is required.

Proposed Solution: The graphify.yaml Configuration Layer
To support the growing segment of local power users, I suggest introducing an optional configuration file (graphify.yaml) to override defaults persistently.

Example graphify.yaml Structure:

# Performance Tuning
extraction:
  max_workers: 32         # Fully utilize high-end CPUs (9950X3D)
  token_budget: 16384     # Optimized for 24GB+ VRAM (Gemma 4 31b)
  max_concurrency: 1      # Avoid local API queue congestion

# Backend Overrides
backend:
  name: "ollama"
  model: "gemma4:31b"
  base_url: "http://127.0.0.1:11434/v1"
  # Suggested: bypass API_KEY check if backend is Ollama and base_url is loopback

# Model Parameters
parameters:
  temperature: 0.3        # Deterministic graph generation
  seed: 42
  num_ctx: 65536

Why this is a "Win-Win":

  • User Experience: Removes the need to re-export set/export commands in every terminal session.
  • Scalability: graphify becomes the gold standard for high-performance local knowledge graph extraction.
  • Maintainability: Decouples hardware-specific tuning from the core logic.

Verified Performance:
By manually patching these values in my local instance, I achieved 95% GPU saturation on an RTX 5090 and reduced AST extraction time significantly. I’m happy to provide more telemetry or contribute code snippets if this aligns with the project roadmap!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions