feat: Added "document parser" OCR strategy#11519
Open
dlew wants to merge 1 commit intodanny-avila:devfrom
Open
feat: Added "document parser" OCR strategy#11519dlew wants to merge 1 commit intodanny-avila:devfrom
dlew wants to merge 1 commit intodanny-avila:devfrom
Conversation
713ce33 to
63a68f2
Compare
The document parser uses libraries to parse the text out of known document types. This lets LibreChat handle some complex document types without having to use a secondary service (like Mistral or standing up a RAG API server). To enable the document parser, set the ocr strategy to "document_parser" in librechat.yaml. We now support: - PDFs using pdfjs - DOCX using mammoth - XLS/XLSX using SheetJS (The associated packages were also added to the project.)
63a68f2 to
f74940f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Template
Summary
The document parser uses libraries to parse the text out of known document types. This lets LibreChat handle some complex document types without having to use a secondary service (like Mistral or standing up a RAG API server).
To enable the document parser, set the ocr strategy to "document_parser" in librechat.yaml.
We now support:
(The associated packages were also added to the project.)
Here's a documentation update PR as well.
Change Type
Please delete any irrelevant options.
Testing
I have added automated tests for most cases (the exception being PDFs, as getting Jest to work with ECMAScript modules would be a big lift just for this one small PR).
I also manually tested uploading PDFs, Word documents, and Excel sheets to LibreChat as text, to make sure they are parsed out.
Test Configuration:
ocragent capability in librechat.yaml:document_parser:Checklist
Please delete any irrelevant options.