zk-rag is a command-line chat tool for your zettelkasten
Project description
Chat With Your Zettelkasten
This is a simple tool that lets you chat with an "AI" that has access to the documents in your Zettelkasten. It will index your markdown documents, and in your chat session it may choose to query your content, retrieve excerpts, read entire documents, and generate responses based on the content in your Zettelkasten.
For "AI" it communicates with a local running instance of Ollama. Ollama must be installed and running for zkchat to function.
Limitations
- command-line only
That said, it includes all of the critical elements for doing RAG queries across a document base.
Requirements
You must have ollama installed and running.
You must have a local knowledgebase / zettelkasten with content in markdown format. I use Obsidian, because I favour working locally, and I favour using the markdown format for notes - because everything's local, and in plain text, I can simply point this tool at a Vault folder.
Workstation setup
Right now, while this tool should run on Windows, we've only written instructions for Mac.
I recommend you setting up a local virtual Python environment, to keep it clean, but you can install it globally.
Setting up a local environment, and activating it (recommended):
cd $HOME
python3 -mvenv .venv
source .venv/bin/activate
Installing the zk-rag module from PyPi:
pip install zk-rag
Setting up Ollama and installing a local model:
brew install ollama
ollama pull qwen2.5:14b
Usage
Run zkchat to start chatting.
Command-line options:
--model [model_name]: Change the LLM model to use for chat- With model name:
zkchat --model llama2- configure to use specified model - Without model name:
zkchat --model- interactively select from available models
- With model name:
--reindex: Reindex the Zettelkasten vault, will attempt to do so incrementally--full: Force full reindex (only used with --reindex)--unsafe: Enable operations that can write to your Zettelkasten
When first run, zkchat will start the configuration. You will need to provide the path to your root Zettelkasten /
Obsidian vault folder, and the name of the LLM model you want to use in your Ollama installation. After configuration,
it will start a full index build of your Zettelkasten.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zk_rag-1.1.0.tar.gz.
File metadata
- Download URL: zk_rag-1.1.0.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6185ec3f9634a0b1821b9bb11e8518190b814edb05b6c21a0bd694e5f456e89
|
|
| MD5 |
e8ef6896797c7cf967ae86271620c2cc
|
|
| BLAKE2b-256 |
090768c28a431a0e6995ab2c065dc3889b78d0ee601776e2bc5d885c6ba8d823
|
Provenance
The following attestation bundles were made for zk_rag-1.1.0.tar.gz:
Publisher:
python-publish.yml on svetzal/zk-rag
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zk_rag-1.1.0.tar.gz -
Subject digest:
e6185ec3f9634a0b1821b9bb11e8518190b814edb05b6c21a0bd694e5f456e89 - Sigstore transparency entry: 172688773
- Sigstore integration time:
-
Permalink:
svetzal/zk-rag@2ab6b910c9322789f3b600d3e929ef2a8e803c66 -
Branch / Tag:
refs/tags/RELEASE-1.1.0 - Owner: https://github.com/svetzal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2ab6b910c9322789f3b600d3e929ef2a8e803c66 -
Trigger Event:
release
-
Statement type:
File details
Details for the file zk_rag-1.1.0-py3-none-any.whl.
File metadata
- Download URL: zk_rag-1.1.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5842911cfe42842aa657a8fc7c349132eb1b9a54992a6c241975cdda84c2897
|
|
| MD5 |
6dc8e3e1d9531e1edc605cc9da585be0
|
|
| BLAKE2b-256 |
1ad433dd5118b920dc9d12adf413328faa486076dcbd512ee7777030629b002c
|
Provenance
The following attestation bundles were made for zk_rag-1.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on svetzal/zk-rag
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zk_rag-1.1.0-py3-none-any.whl -
Subject digest:
e5842911cfe42842aa657a8fc7c349132eb1b9a54992a6c241975cdda84c2897 - Sigstore transparency entry: 172688775
- Sigstore integration time:
-
Permalink:
svetzal/zk-rag@2ab6b910c9322789f3b600d3e929ef2a8e803c66 -
Branch / Tag:
refs/tags/RELEASE-1.1.0 - Owner: https://github.com/svetzal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2ab6b910c9322789f3b600d3e929ef2a8e803c66 -
Trigger Event:
release
-
Statement type: