Repository navigation
Conversation
Author
|
Please keep me updated. I have 5 more features I have built on top of this PR and would like to push these. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue: # 208
What changed and why:
This adds a fully local assistant to DigUp. It uses a small language model (Qwen2.5-3B or 1.5B via llama.cpp, set up for an 8-core, 12 GB RAM CPU) behind a new digup chat-service helper and an "Ask AI" pane in the app. Answers are grounded by a deterministic GraphRAG step: indexing stores identifiers, symbols and file references in a new SQLite edges table (created with IF NOT EXISTS, so the schema version is unchanged), and Searcher.retrieveGraphContext follows them one or two hops to pull in related files without any LLM indexing cost. Cache-Augmented Generation saves the model's state for pinned files to disk, so follow-up questions skip re-reading the context on CPU, and an optional JSONL logger with a secret scrubber lets users export SFT/DPO data and hot-load a LoRA adapter. Everything stays on the user's machine and the model download is optional, so first-run indexing is unaffected.
Tests run: cargo test in shell/src-tauri: 18 tests for this feature passed (the Rust dataset, GraphRAG and CAG tests). swift test was not run (no Swift toolchain on my Windows machine), so GraphRAGTests.swift is untested.
If search results change: base search is unchanged; GraphRAG only adds context for chat. No before/after evals.