同步代码更新 (2026-06-16)
- 移除 generate_diverse_answers.py(多样化回答已废止) - 更新 generate_fresh_qa.py(目标50万条新问答) - 更新 generate_multiturn.py(6~12轮长对话,目标50万) - 更新 regenerate_all_high_temp.py(独立保存,不追加训练集) - 更新 .gitignore(忽略新输出目录) - 所有API Key改为环境变量读取
This commit is contained in:
1 parent
eb1d62f85c
commit
91db488ad4
5 files changed
+21
-291
No files matched your search
+10
-9
@@ -141,8 +141,8 @@ def parse_multi_turn(text):
|
||||
turns.append((current_q, a_text))
|
||||
current_q = None # 配对后重置,等待下一个问
|
||||
|
||||
# 最少2轮才算有效
|
||||
if len(turns) >= 2:
|
||||
# 最少4轮才算有效(6~12轮的长对话)
|
||||
if len(turns) >= 4:
|
||||
return turns
|
||||
return None
|
||||
|
||||
@@ -173,19 +173,20 @@ def make_multi_prompt():
|
||||
topics = random.sample(all_seeds, min(topic_count, len(all_seeds)))
|
||||
topic_context = "、".join(topics)
|
||||
|
||||
turn_count = random.randint(2, 5)
|
||||
turn_count = random.randint(6, 12)
|
||||
|
||||
prompt = f"""请以小狸的身份,模拟一段{turn_count}轮的自然闲聊对话。
|
||||
prompt = f"""请以小狸的身份,模拟一段长时间的自然闲聊对话,至少{turn_count}轮。
|
||||
|
||||
开场话题:{topic_context}
|
||||
|
||||
要求:
|
||||
1. 小狸是8岁小女孩,说话简短自然
|
||||
2. 每轮包含"问"和"答",小狸的回答1-2句话
|
||||
3. 对话要自然展开,不要强行切话题
|
||||
3. 对话要自然展开,一问一答慢慢深入,不要强行切话题
|
||||
4. 小狸的语气:害羞但可爱,不是机器人
|
||||
5. 至少{turn_count}轮,越多越好,让对话持续下去
|
||||
|
||||
请按以下格式输出(至少{turn_count}轮):
|
||||
请按以下格式输出(至少{turn_count}轮,轮数越多越好):
|
||||
问:(用户提问)
|
||||
答:(小狸回答)
|
||||
问:(用户续问)
|
||||
@@ -200,7 +201,7 @@ def generate_one_multi():
|
||||
result = call_astron_multi(prompt, temperature=random.uniform(0.8, 1.0))
|
||||
if result:
|
||||
turns = parse_multi_turn(result)
|
||||
if turns and len(turns) >= 2:
|
||||
if turns and len(turns) >= 4:
|
||||
sample = format_training_sample(turns)
|
||||
return {
|
||||
'source': 'multiturn_astron',
|
||||
@@ -249,8 +250,8 @@ def main():
|
||||
print(f"已有中间结果: {len(all_results)} 条 ({len(interim_files)} 批)")
|
||||
|
||||
# ====== 参数 ======
|
||||
TARGET = 20000 # 目标生成 2 万条多轮对话
|
||||
BATCH = 50 # 每批生成 50 条
|
||||
TARGET = 500000 # 目标 50 万条长多轮对话
|
||||
BATCH = 20 # 每批生成 20 条(每条更长,减少批量)
|
||||
MAX_WORKERS = 5 # Astron 5并发
|
||||
TEMPERATURE_RANGE = (0.80, 1.0)
|
||||
|
||||
|
||||
Reference in new issue
Block a user