langchain4j [特性]页面元数据文本段/每页文档分割器

kgsdhlau  于 3个月前  发布在  其他
关注(0)|答案(1)|浏览(59)

您的功能请求是否与问题相关?请描述。

是的,但也有点偏离主题。目前在LangChain4J中实现的文档处理,特别是在处理PDF文件时,没有考虑到在拆分文本段落时需要跟踪原始文档的页码的需求。当句子跨越两页时,这可能会导致问题,使PDF中准确突出显示相关部分变得困难。用户通常需要引用或查看原始文档中的上下文,而缺乏特定于页面的元数据可能会破坏PDF文件中的搜索功能。

描述您希望的解决方案

一种方法是在每个文本段落中包含页面元数据,或者使用一个可以按页拆分文档的文档拆分器

描述您考虑过的替代方案

我尝试过使用各种PDF查看器寻找解决跨页句子的方法,但它们通常不是可靠的方法

t3psigkw

t3psigkw1#

@langchain4j 请注意,Spring AI 对于 PDF 文档拆分器的支持相当不错。
https://levelup.gitconnected.com/rag-and-spring-ai-querying-your-own-documents-with-open-ai-54b404eb7d08
https://docs.spring.io/spring-ai/docs/current/api/org/springframework/ai/reader/pdf/config/PdfDocumentReaderConfig.Builder.html

DocumentReader reader = new PagePdfDocumentReader(
                    this.documentResource,
                    PdfDocumentReaderConfig.builder()
                        .withPageExtractedTextFormatter(ExtractedTextFormatter.builder()
                            .withNumberOfBottomTextLinesToDelete(3)
                            .withNumberOfTopPagesToSkipBeforeDelete(1)
                            .build())
                        .withPagesPerDocument(1)
                        .build());

相关问题