您的功能请求是否与问题相关?请描述。
我们最近从一个项目中学到的教训是,Java中似乎没有广泛支持分块(Chunking)。我们特别在寻找对不同chunking strategies的支持。这可能有助于我们最大限度地利用VectorDB中存储、检索和匹配数据的能力。
描述您希望实现的解决方案
我们希望与Langchain4j社区讨论,他们是否在这个项目中实现了可行的分块支持,并且与项目目标和功能集保持一致。
描述您考虑过的替代方案
除了其他事情之外,我们还考虑过将分块库作为单独的项目创建,但我们认为将分块库作为Langchain4j的一部分添加将带来更好的开发者体验,并使项目更容易实现涉及LLM的分块策略。
附加上下文
如果社区认为这符合项目,我们愿意贡献并帮助维护这个功能。
4条答案
按热度按时间enyaitl31#
你好@orpiske,这听起来很棒!我们期待在LC4J中改进这一点,所以任何贡献都是受欢迎的!
除了现有的文档拆分器,我们计划在不久的将来添加markdown拆分器和语义拆分器。
你有什么分块策略吗?
n9vozmp42#
这是个好消息,你已经有了Markdown(和/或AsciiDoc)和语义分割器的计划!这些对我们的项目非常有用。
一般来说,专门的分块器/分割器(以及实现它们的接口)对于我们数据的一部分可能会特别有帮助(例如:这样我们就可以处理YAML、XML等)。
我还认为,将分块任务委托给外部服务的API/服务/LLM-based chucking也是有用的。
3df52oht3#
您正在寻找的接口是
DocumentSplitter
,请查看它及其现有实现。xv8emn3q4#
您正在寻找的接口是
DocumentSplitter
,请查看它及其现有实现。注意,谢谢!