khoj
transient
khoj | transient | |
---|---|---|
50 | 24 | |
4,858 | 606 | |
2.8% | 0.3% | |
9.9 | 9.3 | |
about 16 hours ago | 3 days ago | |
Python | Emacs Lisp | |
GNU Affero General Public License v3.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
khoj
-
Show HN: I made an app to use local AI as daily driver
There are already several RAG chat open source solutions available. Two that immediately come to mind are:
Danswer
https://github.com/danswer-ai/danswer
Khoj
https://github.com/khoj-ai/khoj
-
Ask HN: How do I train a custom LLM/ChatGPT on my own documents in Dec 2023?
I'm a fan of Khoj. Been using it for months. https://github.com/khoj-ai/khoj
-
You probably donโt need to fine-tune LLMs
https://github.com/khoj-ai/khoj
This is the easiest I found, on here too.
-
Show HN: Khoj โ Chat Offline with Your Second Brain Using Llama 2
Thanks for the feedback. Does your machine have a GPU? 32GB CPU RAM should be enough but GPU speeds up response time.
We have fixes for the seg fault[1] and improvement to the query speed[2] that should be released by end of day today[3].
Update khoj to version 0.10.1 with pip install --upgrade khoj-assistant to see if that improves your experience.
The number of documents/pages/entries doesn't scale memory utilization as quickly and doesn't affect the search, chat response time as much
[1]: The seg fault would occur when folks sent multiple chat queries at the same time. A lock and some UX improvements fixed that
[2]: The query time improvements are done by increasing batch size, to trade-off increased memory utilization for more speed
[3]: The relevant pull request for reference: https://github.com/khoj-ai/khoj/pull/393
-
A Review: Using Llama 2 to Chat with Notes on Consumer Hardware
We recently integrated Llama 2 into Khoj. I wanted to share a short real-world evaluation of using Llama 2 for the chat with docs use-cases and hear which models have worked best for you all. The standard benchmarks (ARC, HellaSwag, MMLU etc.) are not tuned for evaluating this
- FLaNK Stack Weekly for 17 July 2023
-
An open source AI search + chat assistant for your Notion workspace
Self-host your Notion assistant using the instructions here. You'll need Python >= 3.8 to get started.
-
When will we get JARVIS?
Here's an early example: https://github.com/khoj-ai/khoj
transient
-
On Desktop GUI Minimalism
> Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop".
Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster.
There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites:
- Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in!
- SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years.
- Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on the dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick.
- Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback.
- ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route.
- Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.
-
Warp is a modern, Rust-based terminal with AI built in
True, and I'd personally rather move away from Emacs to something more modern. (Helix is great, although I appreciate the irony of it being terminal-only, while Emacs supports several different window systems natively.) Magit is the only real reason I'm sticking with Emacs.
Magit itself is powered by <https://github.com/magit/transient>, which I see more as an interaction paradigm than a library; it could enable more ergonomic interaction with other stateful tools that are typically native to the command line / terminal (such as docker/kubectl, systemctl, mpd/mpc, etc). Rather than using Emacs as a middle layer, Transient could build on top of pluggable native toolkit backends, such as Cocoa, Gtk, Win32, or even web or a terminal.
We continue investing into terminals because the terminal remains the lowest common denominator of interacting with a computer. On the other end of the spectrum we have Electron, which has very clear and obvious downsides. I think there is low-hanging fruit with amazing ROI somewhere in the middle, and Magit/Transient is an example of what it could be.
-
What do you use for git integration in neovim?
You can also manage via a holistic UI: - Bisection - Log and reflog, stashes - subtrees, submodules - certain third party subcommands like git-absorb, and extend it with your own - interact with issues and pull requests via forge - pretty much all of the hundreds of CLI flags via a modal UI that got generalized and extracted to a lib called transient - well-integrated diff and conflict resolution (which is mostly just smerge) - the rebase/cherry-pick workflows I liked the best, including support for --update-refs - at any time you can always press a key to see the raw commands and output that it's using, which taught me a ton of corner cases - IMO it has a great manual
-
Transient Demo Requests?
See https://github.com/magit/transient/issues/239 .
-
Transient v0.4.0 released
More information can be found on my blog and in the release notes.
-
Dynamic Transient Infixes Based on Current Values of Other Infixes
AFAIK :if etc. do not "live update", but only function on initial prefix setup (see this issue). You could use a sub-prefix that evaluates settings from its parent to set the available options. Another tip: add an incompatible list so you can't get two desserts:
-
I cannot get EmacSQL to work
Yeah, ok, simplest is then to just trash the transient folder and either let Emacs clone it again on startup, or manually clone it: https://github.com/magit/transient
-
Khoj Chat: A Search Assistant for your Org-Mode Notes
M-x khoj RET c via transient
-
Transient for resizing windows
This is about resizing the frame, but might also be relevant: https://github.com/magit/transient/issues/216.
-
quick-actions.el: Uniform Compile/Run/Debug across programming languages
Will a hydra or a transient menu?
What are some alternatives?
obsidian-smart-connections - Chat with your notes & see links to related content with AI embeddings. Use local models or 100+ via APIs like Claude, Gemini, ChatGPT & Llama 3
emacs-lite
ollama - Get up and running with Llama 3, Mistral, Gemma, and other large language models.
ani-cli - A cli tool to browse and play anime
qdrant - Qdrant - High-performance, massive-scale Vector Database for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/
emacs-light - My lightweight bare necessities emacs config
llama-cpp-python - Python bindings for llama.cpp
crunchyroll-go - ๐ A Crunchyroll (beta) API implementation in Go
obsidian-ava - Quickly format your notes with ChatGPT in Obsidian
anime-helper-shell - A python shell for searching, watching, and downloading anime.
logseq-plugin-gpt3-openai - A plugin for GPT-3 AI assisted note taking in Logseq
evil - The extensible vi layer for Emacs.