For macOS, there's this: https://pdfsearch.app/ Without AI, but searching the PDF content, I use Recoll ( https://www.recoll.org/ ) or ripgrep-all ( https://github.com/phiresky/ripgrep-all )
Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
81–90 of 92 posts
Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#82If you haven’t given some serious thought to getting rid of most of the documents then consider it. There is very little need to keep most routine documents for more than a few years. If you think you need your electric bill for March 2006 at your fingertips, why?
I was hoping someone would make this point. A lot of digital archiving is just delaying tossing things - a hard drive is easier to deal with than boxes of paper. The contents can still be useless. When it comes to a search solution - what kind of searches have you done in the past? What kind of problems did you come across? If the answer to either is "none" you are planning on building a useless system.
I agree that search is overkill - just drudge manually or use grep when the time comes to dig.
Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#83Earlier quoted context omitted.
I found that grep actually outperformed vector search for many queries. The only thing I was missing was when I didn't know how exactly to phrase something (the exact keyword to use). Do keyword search systems have workarounds for this? My own idea was for each keyword to generate a list of neighbor keywords in semantic space. I figured with such a dataset, I'd get something approximating vector search for free. I ma…
The point of vector search is to support semantic search. It makes sense that grep will outperform if you're just looking for verbatim occurrences of a string.
Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#84Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#85Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#86Devonthink would do this with a tiny model to translate your natural length search prompts into its syntax and your folder/tag tree. If you're okay with some false positives, Devonthink would work as is, actually.
I used to use this, but the LLM approach allows for much deeper interactions. Not "find all times I've typed X" but "act as an expert in Y, looking across all times I've typed X, summarize my changing position over thee years, and suggest other terms that have a similar pattern of change, in a list." The kind of thing I used to give to an intern over a month, with results that are not far off what that intern produce…
The devonthink crab-bucket community is hostile to any use of LLMs but I don’t think they understand how the app would structure and augment the input and output to keep it from returning fanciful output.
Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#87I am a medical students with thousands and thousands of PDF and was unsatisfied with RAG tools so I made my own. It can consume basically any type of content (pdf, epub, youtube playlist, anki database, mp3, you name it) and does a multi step RAG by first using embedding then filtering using a smaller LLM then answering using by feeding each remaining document to the strong LLM then combine those answers. It supports…
Nvidia's 'Chat with RTX' can do this as well https://www.nvidia.com/en-us/ai-on-rtx/chatrtx/ You do need a beefy GPU to run the local LLM, but I think it's a similar requirement for running any LLM on your machine.
Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#88Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#89Re: Ask HN: I have many PDFs – what is the best local way to leverage AI for search?
#90You don't. You use a full-text indexer and normal search tools. A chatbot is only going to decrease the integrity of query results.
Could you expand on the answer? Thanks!