llmsherpa
unstructured
llmsherpa | unstructured | |
---|---|---|
6 | 12 | |
970 | 6,682 | |
16.2% | 17.7% | |
6.6 | 9.8 | |
7 days ago | 2 days ago | |
Jupyter Notebook | HTML | |
MIT License | Apache License 2.0 |
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.
llmsherpa
-
LlamaCloud and LlamaParse
To get good RAG performance you will need a good chunking strategy. Simply getting all the text is not good enough and knowing the boundaries of table, list, paragraph, section etc. is helpful.
Great work by llamaindex team. Also feel free to try https://github.com/nlmatics/llmsherpa which takes into account some of the things I mentioned.
-
Show HN: Open-source Rule-based PDF parser for RAG
I wrote about split points and the need for including section hierarchy in this post: https://ambikasukla.substack.com/p/efficient-rag-with-docume...
All this is automated in the llmsherpa parser https://github.com/nlmatics/llmsherpa which you can use as an API over this library.
unstructured
-
LlamaCloud and LlamaParse
Be careful with unstructured:
https://github.com/Unstructured-IO/unstructured/blob/d11c70c...
from: https://github.com/open-webui/open-webui/issues/687
- FLaNK 15 Jan 2024
-
Bash One-Liners for LLMs
I’ve been looking at this
https://freeling-user-manual.readthedocs.io/en/v4.2/modules/...
at the freeling library in general, also spaCy and NLTK. The chunking algorithms being used in the likes of LangChain are remarkably bad surprisingly.
There is also
https://github.com/Unstructured-IO/unstructured
But I don’t like it, can’t explain why yet.
My intuition is that 1st step is clean sentences and paragraphs and titles/labels/headers. Then probably an LLM can handle outlining and table of contents generation using a stripped down list of objects in the text.
BRIO/BERT summarization could also have a role of some type.
Those are my ideas so far.
- Unstructured – OSS libraries and APIs to build custom preprocessing pipelines
-
More intelligent Pdf parsers
Unstructured is the best one I’ve used so far: https://www.unstructured.io
- Help extracting data from multiple PDF's
- Pre-processing text documents such as PDFs, HTML and Word Documents for LLMs
-
Using ChatGPT to read multiple PDFs and create writing using them as sources
https://www.unstructured.io/ can parse PDFs, then you can feed all of them to Claude, which has a 100k context window.
-
How can I convert restaurant’s traditional menu in pdf file to well structured list of menu items with prices in Excel file? Thank you
If the copy & pase method does not work: One approach is to use the functionality of Unstructured to parse the PDF. If need be, it can do OCR on the PDF too if you have Detectron2 installed. After conversion you would still have to save it as an excel file though.
-
PDF GPT allows you to chat with the contents of your PDF file
I would check out https://github.com/Unstructured-IO/unstructured (what lang chain uses) or https://github.com/axa-group/Parsr (probably what unstructured copied to get their startup off the ground lol)
What are some alternatives?
txtai - 💡 All-in-one open-source embeddings database for semantic search, LLM orchestration and language model workflows
Parsr - Transforms PDF, Documents and Images into Enriched Structured Data
llama_parse - Parse files for optimal RAG
ragflow - RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding.
pdfGPT - PDF GPT allows you to chat with the contents of your PDF file by using GPT capabilities. The most effective open source solution to turn your pdf files in a chatbot!
marker - Convert PDF to markdown quickly with high accuracy
awesome-document-understanding - A curated list of resources for Document Understanding (DU) topic
paperetl - 📄 ⚙️ ETL processes for medical and scientific papers
nlm-ingestor - This repo provides the server side code for llmsherpa API to connect. It includes parsers for various file formats.
vault-ai - OP Vault ChatGPT: Give ChatGPT long-term memory using the OP Stack (OpenAI + Pinecone Vector Database). Upload your own custom knowledge base files (PDF, txt, epub, etc) using a simple React frontend.