LLM输出格式化后的世界战争事件
希望LLM输出格式化后的世界战争事件
代码参考: 通过LLM多轮对话生成单元测试用例
提示词:
txt
system_prompt="你是一位历史学家,擅长回答历史问题,请使用中文回答。\n\n历史问题:"
question ='''
输出从{}年到{}年期间,全世界发生过的战争,必须按以下固定格式输出:
输出格式:
[开始时间 # 结束时间 # 国家 # 名称 # 发起方 # 规模 # 伤亡人数 # 起因 # 结果 # 启示 # 你的看法]
注意事项:
1.你不确定的地方用未知代替
2.不要输出其他无关内容
3.支持多行输出
'''
代码修改点:
python
llms=[dashscope_llm,moonshot_llm,qianfan_llm,sparkai_llm,zhipuai_llm,yi_llm,volc_llm]
for llm in llms:
logger.info(f" ---------------------------------- {llm.__name__} ---------------------------------- ")
for beg in range(1000,2024,10):
response=None
try:
obj=llm(system_prompt,question.format(beg,beg+10))
response = obj.infer()
params=re.findall(r'\[(.*?)\]',response)
for param in params:
logger.info(f"{param}")
except:
if response:
print(response)
traceback.print_exc()
输出:
txt
---------------------------------- dashscope_llm ----------------------------------
1004年 # 1005年 # 中国 # 澶渊之盟 # 北宋 # 辽国 # 中等规模 # 未知 # 边境冲突 # 签订和平条约,互赠岁币 # 和平外交的重要性
1009年 # 1010年 # 埃及 # 法蒂玛王朝与拜占庭战争 # 法蒂玛王朝 # 拜占庭帝国 # 小规模 # 未知 # 宗教与领土争端 # 暂时的边境调整,未决争端 # 宗教冲突对地区稳定的影响
1032年 # 1032年 # 拜占庭帝国 # 安纳托利亚战役 # 拜占庭帝国 # 中等规模 # 未知 # 拜占庭扩张领土 # 拜占庭取得胜利 # 对地区势力平衡的影响 # 这表明当时拜占庭帝国仍在积极扩展其影响力
1040年 # 1042年 # 中国 # 康国之乱 # 塔里布部族 # 中等规模 # 未知 # 宗教与政治冲突 # 塔里布部族被平定 # 强化了宋朝中央集权 # 这一事件显示了当时中央政府对边疆控制的重要性
1046年 # 1048年 # 日本 # 平将门之乱 # 平将门 # 小规模 # 数百人 # 地方权力争斗 # 平将门被杀,叛乱平息 # 展现了平安时代日本中央与地方的权力斗争
1048年 # 1052年 # 波斯萨曼王朝 # 阿巴德王朝叛乱 # 阿巴德一世 # 中等规模 # 未知 # 宗教与皇位继承纠纷 # 萨曼王朝恢复统治,阿巴德王朝失败 # 强调了宗教和王权在中世纪伊斯兰世界中的复杂关系