例行检查
你的版本
问题描述, 日志截图
这是一个关于算法逻辑错误的问题。
packages\global\common\string\textSplitter.ts中splitText2Chunks会根据CUSTOM_SPLIT_SIGN对md文档进行分割,但在遍历过程中对全量props反复切片,尽管在最后会进行去重,但这似乎是一个潜在的bug
export const splitText2Chunks = (props: SplitProps): SplitResponse => {
let { text = '' } = props;
const start = Date.now();
const splitWithCustomSign = text.split(CUSTOM_SPLIT_SIGN);
const splitResult = splitWithCustomSign.map((item) => {
**在遍历中传递的是整个请求参数props,而不是item** 问题在这里
if (strIsMdTable(item)) {
return markdownTableSplit(props);
}
return commonSplit(props);
});
return {
chunks: splitResult.map((item) => item.chunks).flat(),
chars: splitResult.reduce((sum, item) => sum + item.chars, 0)
};
};
复现步骤
模拟 含有多个CUSTOM_SPLIT_SIGN分隔符的表格,比如多个sheet的excel,每个sheet用CUSTOM_SPLIT_SIGN拼接,观察切片结果,日志中会有大量的重复切片被删除。
**预期结果**
const splitResult = splitWithCustomSign.map((item) => {
**在遍历中传递的是整个请求参数props,而不是item** 问题在这里
if (strIsMdTable(item)) {
return markdownTableSplit({text:item,chunkLen:chunkLen,overlapRatio:overlapRatio,customReg:customReg});
}
return commonSplit({text:item,chunkLen:chunkLen,overlapRatio:overlapRatio,customReg:customReg});
});
相关截图
例行检查
你的版本
问题描述, 日志截图
这是一个关于算法逻辑错误的问题。
packages\global\common\string\textSplitter.ts中splitText2Chunks会根据CUSTOM_SPLIT_SIGN对md文档进行分割,但在遍历过程中对全量props反复切片,尽管在最后会进行去重,但这似乎是一个潜在的bug
复现步骤
模拟 含有多个CUSTOM_SPLIT_SIGN分隔符的表格,比如多个sheet的excel,每个sheet用CUSTOM_SPLIT_SIGN拼接,观察切片结果,日志中会有大量的重复切片被删除。
相关截图