Files
DataPipeline/supervised_finetuning/sft_chinese_instruct.py
T

34 lines
1.2 KiB
Python

from datasets import DatasetDict
from datasets import load_dataset, concatenate_datasets
from modules.datapipeline import DataPipeline, TextNormalizer
def process_func(input_dict: dict):
query = input_dict["prompt"] if input_dict["prompt"] else ""
resp = input_dict["response"] if input_dict["response"] else ""
normalizer = TextNormalizer()
query = normalizer.normalize(query)
resp = normalizer.normalize(resp)
return {"query": query, "response": resp }
if __name__ == "__main__":
all_data = ['stem_zh', 'infinity-instruct', 'firefly', 'magpie', 'dpsk-r1-distil',
'coig-cqia', 'disc-law', 'neo_sft_phase2', 'chinese-medical', 'chinese-reasoning-distil',
'psycho-10k-dpsk-r1', 'sof-c-zh', 'industryinstruction', 'Chinese-QA-AFAF']
datasets = []
for subset in all_data:
ds = load_dataset("Mxode/Chinese-Instruct", name=subset)
datasets.append(ds["train"])
combined_dataset = concatenate_datasets(datasets)
pipeline = DataPipeline()
pipeline.process_dataset(
dataset_dict=DatasetDict({"train": combined_dataset}),
output_subdir="chinese-instruct-sft",
process_func=process_func,
)