最近在搭一个本地知识库问答,用的bge-m3做embedding,向量库是Milvus。文档是那种技术手册,有标题、段落和代码块。我目前按固定512字符切块,重叠64——但查起来经常召回一些不相关的内容,比如问“如何配置超时时间”,返回的却是某个函数参数说明里带“timeout”的代码块。我怀疑是不是纯按长度切块把语义割裂了,但换语义切块又不知道怎么处理代码和表格混排的情况。有没有老哥指点下,RAG的分块策略一般怎么根据文档结构来定?或者有没有好用的库能自动识别标题层级来切?感谢!