Khoj: An AI personal assistant for your digital brain
khoj.dev
khoj.dev
- How is this better than Rewind, Needl, Mem, etc all the personal search engine that have been doing the rounds lately from various knowledge bases? Is the selling point that it's Open-source? Also if Apple improves spotlight, I wonder how useful this will be.
The way we see it, building in the open is going to be critical for creating an aligned, trustworthy AI assistant.
Note: while all LLM tools look fairly similar on the surface these days, our specific approaches are fairly different. Give us a try and see what you think :-)
From a brief look at the github repo there seems to be need to setup OpenAI API key so not sure if this currently has the ability to chat / search w/o sending or needing a OpenAI API access ?
Chat currently is only integrated with OpenAI because it had the highest quality + lowest barrier to entry. We're experimenting with open source LLMs and hope to have an alternative available soon.
Isn't this service just a very thin wrapper around chat-gpt? How on earth do you have any influence on alignment or trustworthiness. That's like saying your coffee cup makes your coffee fair trade.
This whole thread is very disingenuous, it's literally a simple interface for the OpenAI-API drenched in fake buzzwords boosted to the top of HN to scam investors.
It's an open source project and I don't see why you need to be so obnoxious about it.
The AI isn't open source and sending your data to a third party isn't really trustworthy personal.
Because it literally says "open-source AI".
Open source AI assistant.
Open source assistant to the AI.
Seriously, this is such a misleading redefinition of a common phrase that it makes me suspicious of the whole project's trustworthiness. If they're playing shell games with "well, technically I didn't say that I meant this phrase the way it's most commonly used in this same industry", then what else are they redefining and misleading about?
I'd encourage you to look into how Siri and "hey Google" and even Cortana and Bixby all describe themselves: as "AI assistants". Nobody thinks "the thing that takes audio and throws it into an AI model is the assistant _to the_ AI". They think of the whole package as their AI assistant — that is, an assistant that is an AI.
That's how the phrase is most commonly used, and even if it were a new turn of phrase, parsing "adjective noun" out into "noun to the noun" is wildly unnatural.
I’m not sure what your language has, but you definitely hit the nail on the head with your inadvertent description of the English language: (seemingly) arbitrary rules applied inconsistently.
You’re absolutely correct that an inexperienced lab assistant does not refer to the lab.
The GP isn’t wrong either.
Open source means that the source code which is developed for a piece of software is fully open (i.e, anyone can read, fork, modify the code) for what they are installing.
According to your definition, it would be really hard to do anything that is fully, end to end, open source. We've developed the code on Macs, hosted the code on GitHub, written plugins for Obsidian and GitHub, hosted the website on AWS. All of those are closed sourced software.
https://www.redhat.com/en/topics/open-source/what-is-open-so...
That being said, we are planning to integrate an open source LLM soon. When we added chat, Open AI just had the best one, but the space is changing so quickly. We're both super enthusiastic about seeing all the open source tooling for this stuff evolve.
If I market "a totally creative-commons blockbuster Hollywood movie", but my actual product is just a creative-commons-licensed set of driving directions to some nearby movie theater where you can buy tickets to see the same copyrighted movies anyone else is offering, then _the fundamental essence_ of what I'm offering is not, in fact, creative-commons. I sold people on a _movie_ with that license, and then failed to deliver.
That's what you've done here.
To be clear, the fatal flaw is that your marketing is dishonest about what your product currently is, not that your product is something nobody wants. I'd recommend either making your marketing honest, or else making your product live up to what your marketing promises.
_Then_ you do the PR push on HN.
Yeah, nobody did open source before those things existed...
The Khoj website says, and I quote:
> Khoj's offline AI models allow you to find information using natural language queries. Search using terms that are similar to what you're looking for, rather than exact or fuzzy matches. Khoj search works offline. So if you self-host your data never leaves your machine and search works without internet.
Emphasis mine.
It seems somewhat disingenuous.
I get it, parts of it run offline, parts of it use the openai api… but that’s not what it says on the box.
Why is the project making a song and dance about self hosting and being open source when it’s just another openai app.
If it’s not just another openai wrapper, cut the openai part of it out and pitch it that way, sure.
…but as it stands, I’m pretty sceptical.
Lots of people are doing the “ai magic” tech demo stuff at the moment, but when you cut them off from the openai api the magic goes away and what’s left isn't very good or interesting.
Maybe this is different? …but it doesn’t look like it; and since they’re tied up with the openai api and you can’t use it without that, how would I even tell?
> So if you self-host your data never leaves your machine
Anyway, I definitely don't think this deserves to be described as "a simple interface for the OpenAI-API drenched in fake buzzwords boosted to the top of HN to scam investors" or "twitter get-rich-quick-guru level lousy and fake, and is clearly boosted to the top of HN".
Horrible reactions in this thread to open source software you can fork to use whatever you want. Really disappointing.
You really need to explain what you are hating on here.
That's like saying I invented a new form of transportation where you're feet never leave the ground but in actuality I'm just a travel agent sending you to the airport.
Really feels like people are nitpicking and hating on this project for no good reason. I feel sorry for the authors.
> Emphasis mine.
> It seems somewhat disingenuous.
I've been trying it. Khoj search does work offline. Khoj chat (they are literally seperate functions in the app) requires an openAI key and if you give it one, uses openAI.
> Seen a few of these. Are you all working on providing an easy way to maybe use LLMs for chatting/search without sending my data to OpenAI? If yes, how will you verify the quality is "reasonable"?
We're working on building a helpful AI assistant, with or without OpenAI. We use offline SentenceTransformer models for search and OpenAI (currently) for chat.
To allow user to verify quality, with search you've to look at the quality of the results returned. For chat we pass references (from your docs) used to generate the response. A lot more should be done, open to suggestions.
We also have our own chat quality test suite that "benchmarks" chat capabilities (via pytest)
> How is this better than Rewind, Needl, Mem, etc all the personal search engine that have been doing the rounds lately from various knowledge bases? Is the selling point that it's Open-source? Also if Apple improves spotlight, I wonder how useful this will be.
- I've tried Rewind. It's a neat project with a slick UI, no doubt about it. But 1. It has a cold boot problem (you can only search stuff you've opened since you installed Rewind) and 2. It's limited to Mac (M1+) machines. Khoj will index all supported files across your data sources and it can run on other machines easily.
- Needl, based on their homepage, seems to provide fuzzy/keyword based search. Khoj search works offline and supports natural language queries (e.g search for "sold my car for" and it'll find notes about your Toyota Corolla or Ferrari)
- Mem.ai is pretty neat as well. We'd love to add all the features they have. With Khoj you can self-host if you prefer or use Khoj cloud if you want to sync across devices. And it integrates into your existing tools (Emacs, Obsidian and Web)
In summary, Khoj being open-source is a critical differentiator for an AI assistant to be trustable (you can see what the code is doing). But all the AI assistance approaches are also different.
Curious: What informs reservations about the use of OpenAI models? Their API terms state explicitly that they do not use customer data for training and that they delete it after 30 days, anyway.
> Also if Apple improves spotlight, I wonder how useful this will be.
There are 3x more Android phones and PCs than iPhones and Macs. Just sayin'
Three things. For one, I have no reason to take them at their word that they aren’t saving data to train on. Two is that OpenAI will shut down one day, and thus I would like any services I run to outlive them. Third and finally, I have hardware and it’d be a waste not to use it. As a bonus, I find it hypocritical a company that benefits so heavily from open source would hide away their models as closed source in fear of copycats.
How are you able to trust cloud providers(even VPS or managed bare metal ones)? I have seen the same sentiment among bigger companies who happily store all users data in the cloud.
I don't use X, just keep it around, 'just in case' for 30 days.
0 - Full privacy off the grid
9 - Brain implant with all data shared to the world
8.5 - Allowing Google to have and scan for ads and government perusal all of your personal emails, written thoughts, location info, friends and accomplices, calendar, photographs, etc
While I would prefer that I could run the LLM locally, being able to see the code that calls the api is a clear second best. At this point in time, I am not going to trust any black box that can read my data and run "AI" on it because I find the risk too big. If I can self-host something, I might just be willing to try it out.
Haven't seen a roadmap on Spotlight to include semantic search across my entire local drive. Maybe if they Integrate Journal/Freeform/Notes into one thing then it is deliberate & works with things I explicitly want it to understand & help me work with rather than the tools that you've listed which just help you find stuff
Do you really not see the usefulness of a solution that caters to the remaining 88% (desktop/notebooks) of the market?
This sort of reek of a growth mindset where you are using "open-source" for the purposes of looking cool and gaining users, but you are in fact trying to grow as quickly as possible to prove to investors that they should fund you for your next round.
I have no reason to believe that's the case for you in particular; just letting you know that some people may perceive things that way. Maybe you could make it clearer that it is a GPT-4 frontend of sorts?
This stuff is so incredibly tiring, because it's already all over social media and HN should be a safe space with actual products.
Lots of great discussion going on in this thread. Two things we want to clarify:
1. Search works offline. Chat uses OpenAI.
2. We're working on adding open source LLM support for chat. We're evaluating quality and ease of setup for this.
If you find the project interesting, hop on our Discord and share your thoughts: https://discord.gg/BDgyabRM6e.
We very much want to hear about your experiences and how we can make something more useful for the community.
Feeling for y'all.
With that, you should be able to index Gmail over Maildir/POP/IMAP?
Like you could search for "bike by the lake" to get relevant images, but not search for the text within an image.
If the devs are still around, I’d love to hear about your experiences with embeddings.
2. We don't use any vector datastores (yet). You can do a lot in memory, it's faster and it does exact matches (no KNN, approx matching)
Feel free to ask if you were looking for something more specific?
1. content / question vector mismatch
2. what types of embedding you experimented with storing per-chunk (text only? Hypothetical question? Metadata?)
3. choice of embeddings model (eg OpenAI vs instructorEmbeddings or an alternative from the MTEB leaderboard)
It’s a great project, going to have a deeper dig today.
(1) upload the bitcoin white-paper. (2) ask question “What is the contribution of R.C. Merkle to this reasearch?”
The proper answer should mention “Merkle Trees”.
No, thanks.
https://news.ycombinator.com/item?id=34652921
I think i will have to test both solutions myself...
Is there a way to use a personally owned and hosted LLM? If not, is there an interest in developing such a feature?
For search we already use a offline/self-hosted model from HuggingFace. And you can easily configure it to use other SentenceTransformer models from HuggingFace
For chat, follow this feature: https://github.com/khoj-ai/khoj/issues/201 to see when Khoj gets the ability to use offline/self-hosted chat models