Commit Graph

26 Commits

Author SHA1 Message Date
Soby Chacko
53a7af500b Addressing the remaining checkstyle failures
Signed-off-by: Soby Chacko <soby.chacko@broadcom.com>
2025-04-15 11:04:03 +01:00
Soby Chacko
d9e7ace996 Miscellaneous checkstyle fixes
Signed-off-by: Soby Chacko <soby.chacko@broadcom.com>
2025-04-14 09:48:03 +01:00
Ilayaperumal Gopinathan
2932769883 Switch back to use slf4j logging
- Revert the changes to update to use Apache Commons Logging and re-add the previously used slf4j logging
2025-02-03 15:31:43 -05:00
Ilayaperumal Gopinathan
8303a52611 Use Apache Commons Logging
- Remove existing spring-boot-starter-logging
 - Update to use Springframework's LogAccessor to use commons logging

Resolves #2095
2025-01-28 11:00:05 +00:00
Ilayaperumal Gopinathan
977500f7a1 Remove deprecated classes and methods in spring-ai-core
* Remove use of Document.getContext method from spring-ai-core, use getText
* Remove deprecated ChatOptionsBuilder class
* Remove deprecated FunctionCallingOptionsBuilder class
2025-01-06 16:57:55 -05:00
WonJun Lee
636f3aee4f GH-1913: Add line separator override for text formatting
Fixes: #1913

Issue: https://github.com/spring-projects/spring-ai/issues/1913

- Add lineSeparator field to ExtractedTextFormatter with configurable override
- Update deleteTopTextLines and deleteBottomTextLines methods to use custom separator
- Mark old methods as deprecated in favor of new ones with separator parameter
- Update PDF test to use explicit line separator for Windows compatibility
2024-12-20 20:19:28 -05:00
Mark Pollack
5b11501cbe Update usage of Document::getContent to getText 2024-12-12 14:43:51 -05:00
Christian Tzolov
0ca91b2ed9 fix: Resolve various javadoc and checkstyle issues 2024-11-16 11:06:14 +01:00
d050150
78a2a2788b GH-1689 Handle StringIndexOutOfBoundsException in PagePdfDocumentReader
- Add test coverage to TextLine
    - Use char[] instead of String for TextLine
    - Optimise index handling when reading text lines

Resolves #1689
2024-11-08 17:28:32 +00:00
Soby Chacko
e72ab6ba25 Addressing more checkstyle violations
- Enable checkstyle on more modules and adressing violations
review
2024-10-31 01:04:41 -04:00
Soby Chacko
8e758dbd00 Introduce checkstyle plugin
- Based on https://github.com/spring-io/spring-javaformat
- In this iteration, checkstyles are only enabled for spring-ai-core
2024-10-24 16:43:59 -04:00
Mark Pollack
a89b938def Make PDF Reader classes more customizable for assigning custom metadata 2024-08-23 12:23:18 -04:00
Fu Cheng
0ebf4abc2c Fix not-null assertion 2024-07-17 11:03:26 +02:00
Eddú Meléndez
64308c4230 Cleanup imports 2024-03-18 15:04:54 +01:00
Mark Pollack
8784a59673 Add logging of page processing progress in PagePdfDocumentReader 2024-03-08 16:32:52 -05:00
Christian Tzolov
ba940395b6 Use platform independent line separators 2024-03-08 09:43:15 +01:00
Mark Pollack
bcb559a82c add license header plugin and update all java files 2024-03-06 17:39:37 -05:00
Christian Tzolov
433f820e8b Improve metadata handling 2024-02-23 22:41:28 +01:00
Mark Pollack
596f2b06c0 Move native hints into individual modules
* Use aot.factories approach for registration
* Add tests
* final tweaks- Thanks Josh!
2024-02-20 14:23:40 -05:00
Christian Tzolov
7b38cc3a88 Improve pdf paragraph constrains
The ParagraphPdfDocumentReader relies on a PDF object called 'outline' (e.g. TOC) to be present in the document.
If the pdf was not generated with TOC, the other options in Spring AI are PagePdfDocumentReader and TikaDocumentReader.

 Resolves #59
2024-01-13 12:16:14 +01:00
Mark Pollack
72af42d0d8 remove extraneous logback.xml file. Fixes #159 2023-12-14 11:08:41 -05:00
Christian Tzolov
001ee990b3 Suppress pdfbox excessive logging 2023-10-31 14:21:50 +01:00
Christian Tzolov
f9ca032cb3 Apache Tika based reader for all kinds of documents
- Provides a rudimentary text extractions for multitude of document formats,
   including PDF, Word Doc/Docx PowerPoint ppt/pptx and many more.
 - Generates a single Document for the extracted text.
 - No pre or post processing and cleansing for the text.
 - Move the ExtractedTextFormatter from pdf reader to the core reader to enable reusability. Improve the tika reader
2023-10-30 16:33:26 -04:00
Toshiaki Maki
72dfc1b50d Fix wrong description in PdfDocumentReaderConfig javadoc (#62) 2023-10-30 16:09:46 +01:00
Christian Tzolov
e5693f7e60 Convert the PdfTestUtils into a generic FileDocumentWriter 2023-10-17 11:56:29 +02:00
Christian Tzolov
1266c04b6d Add PDF Document Readers
- Add a set of PDF readers fro per-page (PagePdfDocumentReader) and per-paragraph (ParagraphPdfDocumentReader) readers.
  - Use a PDFLayoutTextStripper fork and PDFLayoutTextStripperByArea extension to preserve the structure of the extracted document.
  - PdfDocumentReaderConfig and PageExtractedTextFormatter in standalone classes.
  - Craeate a new document-readers top level model and the pdf-reader under.
2023-10-16 09:45:15 -04:00