例行检查
- 我已确认目前没有类似 issue
- 我已完整查看过项目 README,以及 项目文档
- 我使用了自己的 key,并确认我的 key 是可正常使用的
- 我理解并愿意跟进此 issue,协助测试和提供反馈
- 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭
你的版本
- 公有云版本
- 私有部署版本, 具体版本号:
问题描述, 日志截图
这是一个关于算法逻辑错误的问题。packages\global\common\stringtextSplitter.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});
});
相关截图
1条答案
按热度按时间eblbsuwk1#
感谢,稍后检查。