Instruction-Tuning-with-GPT-4 / GPT-4-LLM

Instruction Tuning with GPT-4
https://instruction-tuning-with-gpt-4.github.io/
Apache License 2.0
4.22k stars 302 forks source link

alpaca_gpt4_data_zh.json那份数据,很多output部分是不完整的。 #29

Open lale314 opened 1 year ago

lale314 commented 1 year ago

部分instruction如下: 写一篇《麦田里的守望者》的书摘。 写一个与技术进步相关的短故事。 在Instagram上为化妆品品牌创建一个有针对性的帖子。 写一段关于你选择的话题的说唱歌词。 用给定的主题创作一个原创故事。主题:老化。 创作一首关于你最喜欢的篮球队洛杉矶湖人的说唱歌曲。 创作一个故事,以这个句子为开头:天空是一片明亮的蓝色。 想出两个电视剧的点子。 比较Emma Lazarus的《新巨像》和William Shakespeare的《十九号十四行诗》中自由的主题。 写一段比较和对比《麦田里的守望者》和《杀死一只知更鸟》这两本书。 为一部关于大学生的电影创建提纲。电影标题为“大学生”。

sz128 commented 1 year ago
image

中文结果有问题,不完整。

sz128 commented 1 year ago

@lale314 可以用如下代码过滤出不完整的数据。

import sys
import json

with open(sys.argv[1]) as fin:
    for line in fin:
        line = line.strip()
        sample = json.loads(line)
        output = sample['output'].strip(" \n\"”")
        if output[-1] in set("?!.。?!})]`》)") or output.endswith("```") or '\n\n此致' in output[-20:]:
            print(line)
        else:
            if len(output) > 200:
                sample['id'] = sample['id'] + '__<|notstoptoken|>'
                print(json.dumps(sample, ensure_ascii=False))
            else:
                print(line)
zixiaotan21 commented 5 months ago

@lale314 可以用如下代码过滤出不完整的数据。

import sys
import json

with open(sys.argv[1]) as fin:
    for line in fin:
        line = line.strip()
        sample = json.loads(line)
        output = sample['output'].strip(" \n\"”")
        if output[-1] in set("?!.。?!})]`》)") or output.endswith("```") or '\n\n此致' in output[-20:]:
            print(line)
        else:
            if len(output) > 200:
                sample['id'] = sample['id'] + '__<|notstoptoken|>'
                print(json.dumps(sample, ensure_ascii=False))
            else:
                print(line)

同样遇到output 不完整的问题,想问问这段代码应该添加在哪里呀