langchain4j-embeddings加载不同文件类型时解释器的选择
.pdf类型文档:使用ApachePdfBoxDocumentParser解释器.doc、.docx类型文档:使用ApachePoiDocumentParser解释器报错:the document is really a UNKNOWN fileApacheTikaDocumentParser解析器代替ApachePoiDocumentParser解析器.txt、.csv、.html5、.json
langchain4j自带的文件解释器包含了对大多数常见的文件类型的解析能力,默认文档解释器如下:

常见的txt、csv、html5等文件类型的解释器:

按照官方示例教程使用如下:
.pdf类型文档:使用ApachePdfBoxDocumentParser解释器
.doc、.docx类型文档:使用ApachePoiDocumentParser解释器
实际测试下来大多数文件类型都能加载和解析出来,但是对于某些比较老的doc文件会加载失败报错:the document is really a UNKNOWN file或者Cant't create extractor - unsupported file type: UNKNOWN之类的报错,又或没报错但是识别不出来只有表格文档等各种奇葩问题。
尝试使用Apache poi的相关api去手动实现parser效果都不太理想之后想起来还有一个自带的解释器没有尝试,故尝试使用ApacheTikaDocumentParser解析器代替ApachePoiDocumentParser解析器,意外的发现以上问题均被解决了!
同时ApacheTikaDocumentParser解析器甚至可以解析doc文件中的附件里面的内容!!(不懂官方示例为什么不用这个)
.txt、.csv、.html5、.json等文件类型使用:TextDocumentParser解析器即可(注意文件的编码格式,默认为utf-8!编码格式不一致时会导致解析出来的结果是乱码等问题,推荐统一将文件转为utf-8编码或者使用public TextDocumentParser(Charset charset)这个构造函数传入文件编码格式)。
更多推荐

所有评论(0)