mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-05-07 14:52:37 +02:00
添加辩论模版
This commit is contained in:
parent
761d60f26d
commit
a819ce514e
1 changed files with 225 additions and 0 deletions
225
debating_tournament.py
Normal file
225
debating_tournament.py
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
@Time : 2023/9/20 00:30
|
||||
@Author : zhouziming
|
||||
@File : debating_tourmament.py
|
||||
"""
|
||||
import asyncio
|
||||
import platform
|
||||
import fire
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from metagpt.actions import BossRequirement
|
||||
from metagpt.config import CONFIG
|
||||
from metagpt.environment import Environment
|
||||
from metagpt.logs import logger
|
||||
from metagpt.roles import Role
|
||||
from metagpt.schema import Message
|
||||
from metagpt.utils.common import NoMoneyException
|
||||
from metagpt.llm import LLM
|
||||
def main(
|
||||
zf:str='人性本善',
|
||||
ff:str='人性本恶'
|
||||
):
|
||||
"""
|
||||
"""
|
||||
if platform.system() == "Windows":
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
asyncio.run(startup(zf,ff))
|
||||
|
||||
async def startup(正方辩题:str,反方辩题:str):
|
||||
llm=LLM()
|
||||
#一辩环节
|
||||
#正方
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
您的立论题目是{正方辩题}。您的立论稿应该包括明确自己的论点,解释自己论点的含义,然后使用对论点有利的论据来支撑自己的论点。最后使用生活中的示例来论证自己的论点。
|
||||
'''
|
||||
正方立论稿=await llm.aask(prompt.format(正方辩题=正方辩题))
|
||||
#反方
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
您的立论题目是{反方辩题}。您的立论稿应该包括明确自己的论点,解释自己论点的含义,然后使用对论点有利的论据来支撑自己的论点。最后使用生活中的示例来论证自己的论点。
|
||||
'''
|
||||
反方立论稿=await llm.aask(prompt.format(反方辩题=反方辩题))
|
||||
#裁判评价环节
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧辩论赛裁判,根据辩论赛而不是自身立场来评价。
|
||||
##要求
|
||||
你的任务是根据一辩辩手的立论稿对辩手的立论进行评价,指出改进空间。评价应当包括:立论稿内容是否符合辩题、逻辑表达是否清晰、论据是否能够支撑论点、能否结合实际方面进行评价。并在进行中立,客观的评价后,给出自己的评分。评分从A+到C-。
|
||||
##辩题
|
||||
{正方辩题}
|
||||
##立论稿
|
||||
{正方立论稿}
|
||||
'''
|
||||
正方一辩评价=await llm.aask(prompt.format(正方辩题=正方辩题,正方立论稿=正方立论稿))
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧辩论赛裁判,根据辩论赛而不是自身立场来评价。
|
||||
##要求
|
||||
你的任务是根据一辩辩手的立论稿对辩手的立论进行评价,指出改进空间。评价应当包括:立论稿内容是否符合辩题、逻辑表达是否清晰、论据是否能够支撑论点、能否结合实际方面进行评价。并在进行中立,客观的评价后,给出自己的评分。评分从A+到C-。
|
||||
##辩题
|
||||
{反方辩题}
|
||||
##立论稿
|
||||
{反方立论稿}
|
||||
'''
|
||||
反方一辩评价=await llm.aask(prompt.format(反方辩题=反方辩题,反方立论稿=反方立论稿))
|
||||
#二辩质询环节
|
||||
#正方质询
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据自己辩题,针对立论稿提出疑问。疑问内容不超过五条,每条只限一句话。
|
||||
##辩题
|
||||
{正方辩题}
|
||||
##立论稿
|
||||
{反方立论稿}
|
||||
'''
|
||||
正方质询=await llm.aask(prompt.format(正方辩题=正方辩题,反方立论稿=反方立论稿))
|
||||
#反方回答
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据立论稿对对手提出的疑问进行回答。对每个问题的回答应限制在三句话以内。回答内容和疑问应当一一对应。
|
||||
##辩题
|
||||
{反方辩题}
|
||||
##立论稿
|
||||
{反方立论稿}
|
||||
##疑问
|
||||
{正方质询}
|
||||
'''
|
||||
反方回答=await llm.aask(prompt.format(反方辩题=反方辩题,反方立论稿=反方立论稿,正方质询=正方质询))
|
||||
#反方质询
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据自己辩题,针对立论稿提出疑问。疑问内容不超过五条,每条只限一句话。
|
||||
##辩题
|
||||
{反方辩题}
|
||||
##立论稿
|
||||
{正方立论稿}
|
||||
'''
|
||||
反方质询=await llm.aask(prompt.format(反方辩题=反方辩题,正方立论稿=正方立论稿))
|
||||
#正方回答
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据立论稿对对手提出的疑问进行回答。对每个问题的回答应限制在三句话以内。回答内容和疑问应当一一对应。
|
||||
##辩题
|
||||
{正方辩题}
|
||||
##立论稿
|
||||
{正方立论稿}
|
||||
##疑问
|
||||
{反方质询}
|
||||
'''
|
||||
正方回答=await llm.aask(prompt.format(正方辩题=正方辩题,正方立论稿=正方立论稿,反方质询=反方质询))
|
||||
if __name__ == '__main__':
|
||||
fire.Fire(main)
|
||||
if __name__ == '__main__':
|
||||
llm=LLM()
|
||||
正方辩题='人性本善'
|
||||
反方辩题='人性本恶'
|
||||
#一辩环节
|
||||
#正方
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
您的立论题目是{正方辩题}。您的立论稿应该包括明确自己的论点,解释自己论点的含义,然后使用对论点有利的论据来支撑自己的论点。最后使用生活中的示例来论证自己的论点。
|
||||
'''
|
||||
正方立论稿=llm.ask(prompt.format(正方辩题=正方辩题))
|
||||
#反方
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
您的立论题目是{反方辩题}。您的立论稿应该包括明确自己的论点,解释自己论点的含义,然后使用对论点有利的论据来支撑自己的论点。最后使用生活中的示例来论证自己的论点。
|
||||
'''
|
||||
反方立论稿=llm.ask(prompt.format(反方辩题=反方辩题))
|
||||
#裁判评价环节
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧辩论赛裁判,根据辩论赛而不是自身立场来评价。
|
||||
##要求
|
||||
你的任务是根据一辩辩手的立论稿对辩手的立论进行评价,指出改进空间。评价应当包括:立论稿内容是否符合辩题、逻辑表达是否清晰、论据是否能够支撑论点、能否结合实际方面进行评价。并在进行中立,客观的评价后,给出自己的评分。评分从A+到C-。
|
||||
##辩题
|
||||
{正方辩题}
|
||||
##立论稿
|
||||
{正方立论稿}
|
||||
'''
|
||||
正方一辩评价=llm.ask(prompt.format(正方辩题=正方辩题,正方立论稿=正方立论稿))
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧辩论赛裁判,根据辩论赛而不是自身立场来评价。
|
||||
##要求
|
||||
你的任务是根据一辩辩手的立论稿对辩手的立论进行评价,指出改进空间。评价应当包括:立论稿内容是否符合辩题、逻辑表达是否清晰、论据是否能够支撑论点、能否结合实际方面进行评价。并在进行中立,客观的评价后,给出自己的评分。评分从A+到C-。
|
||||
##辩题
|
||||
{反方辩题}
|
||||
##立论稿
|
||||
{反方立论稿}
|
||||
'''
|
||||
反方一辩评价=llm.ask(prompt.format(反方辩题=反方辩题,反方立论稿=反方立论稿))
|
||||
#二辩质询环节
|
||||
#正方质询
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据自己辩题,针对立论稿提出疑问。疑问内容不超过五条,每条只限一句话。
|
||||
##辩题
|
||||
{正方辩题}
|
||||
##立论稿
|
||||
{反方立论稿}
|
||||
'''
|
||||
正方质询=llm.ask(prompt.format(正方辩题=正方辩题,反方立论稿=反方立论稿))
|
||||
#反方回答
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据立论稿对对手提出的疑问进行回答。对每个问题的回答应限制在三句话以内。回答内容和疑问应当一一对应。
|
||||
##辩题
|
||||
{反方辩题}
|
||||
##立论稿
|
||||
{反方立论稿}
|
||||
##疑问
|
||||
{正方质询}
|
||||
'''
|
||||
反方回答=llm.ask(prompt.format(反方辩题=反方辩题,反方立论稿=反方立论稿,正方质询=正方质询))
|
||||
#反方质询
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据自己辩题,针对立论稿提出疑问。疑问内容不超过五条,每条只限一句话。
|
||||
##辩题
|
||||
{反方辩题}
|
||||
##立论稿
|
||||
{正方立论稿}
|
||||
'''
|
||||
反方质询=llm.ask(prompt.format(正方辩题=正方辩题,反方立论稿=反方立论稿))
|
||||
#正方回答
|
||||
prompt='''
|
||||
##角色
|
||||
现在你是一名高水平,有辩论技巧,有强大表达能力的辩手。
|
||||
##要求
|
||||
你的任务是,根据立论稿对对手提出的疑问进行回答。对每个问题的回答应限制在三句话以内。回答内容和疑问应当一一对应。
|
||||
##辩题
|
||||
{正方辩题}
|
||||
##立论稿
|
||||
{正方立论稿}
|
||||
##疑问
|
||||
{反方质询}
|
||||
'''
|
||||
正方回答=llm.ask(prompt.format(反方辩题=反方辩题,反方立论稿=反方立论稿,正方质询=正方质询))
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue