MCPcopy Create free account
hub / github.com/InternLM/InternBootcamp / main

Function main

internbootcamp/utils/data_postprocess.py:853–903  ·  view source on GitHub ↗

命令行接口示例

()

Source from the content-addressed store, hash-verified

851# ============= 命令行接口 =============
852
853def main():
854 """命令行接口示例"""
855 import argparse
856
857 parser = argparse.ArgumentParser(description="数据后处理工具")
858 parser.add_argument("input", help="输入 jsonl 文件路径")
859 parser.add_argument("output", nargs='?', default=None, help="输出 jsonl 文件路径(可选,不提供则自动生成)")
860 parser.add_argument("--filter-success", action="store_true", help="只保留成功的样本")
861 parser.add_argument("--min-score", type=float, default=0.9, help="最小分数")
862 parser.add_argument("--max-score", type=float, default=1.0, help="最大分数")
863 parser.add_argument("--data-source", type=str, help="按数据源过滤")
864 parser.add_argument("--filter-design-end", action="store_true", help="只保留最后一条消息包含 <Design End> 的样本")
865 parser.add_argument("--extract-training", action="store_true", help="提取训练数据格式")
866 parser.add_argument("--extract-multimodal-training", action="store_true", help="提取多模态 SFT 训练格式")
867 parser.add_argument("--extract-xtuner-strict-training", action="store_true", help="提取 XTuner 严格字段训练格式")
868 parser.add_argument("--extract-messages", action="store_true", help="只提取消息")
869 parser.add_argument("--expand-messages-prefixes", action="store_true", help="将多轮对话展开为前缀集")
870
871 args = parser.parse_args()
872
873 # 创建处理器
874 processor = DataPostProcessor()
875
876 # 添加过滤器
877 if args.filter_success:
878 processor.add_filter(filter_by_success, name="success")
879
880 if args.min_score > 0.0 or args.max_score < 1.0:
881 processor.add_filter(filter_by_score(args.min_score, args.max_score), name="score")
882
883 if args.data_source:
884 processor.add_filter(filter_by_data_source(args.data_source), name="data_source")
885
886 if args.filter_design_end:
887 processor.add_filter(filter_by_design_end, name="design_end")
888
889 # 添加转换器(需要按顺序添加,因为有些转换函数会修改数据)
890 if args.expand_messages_prefixes:
891 processor.add_transformer(expand_messages_prefixes, name="expand_messages_prefixes")
892 if args.extract_training:
893 processor.add_transformer(extract_for_training, name="training_format")
894 if args.extract_multimodal_training:
895 processor.add_transformer(extract_for_multimodal_training, name="multimodal_training_format")
896 if args.extract_xtuner_strict_training:
897 processor.add_transformer(extract_for_xtuner_strict_training, name="xtuner_strict_training_format")
898 if args.extract_messages:
899 processor.add_transformer(extract_messages_only, name="messages_only")
900
901
902 # 执行处理
903 processor.process(args.input, args.output)
904
905
906if __name__ == "__main__":

Callers 1

Calls 6

add_filterMethod · 0.95
add_transformerMethod · 0.95
processMethod · 0.95
DataPostProcessorClass · 0.85
filter_by_scoreFunction · 0.85
filter_by_data_sourceFunction · 0.85

Tested by

no test coverage detected