让智能体打一场辩论赛

说明

探索AutoGen的GroupChat中已经展示了如何使用多智能体进行协作的功能。

前几周同事在公司做了一个关于LLM的分享,其中有一个demo就是基于langchain配置基于不同大模型的多个智能体,让这几个智能体打一场辩论赛,赛题是:伴侣的钱是不是我的钱?

demo的效果非常好,很大因素很这个选题有关。我今天用AutoGen也复现一下这个demo,希望能借这个话题吸引大家对于AutoGen的进一步了解。

在这个demo中,一共有11个Agent,一个主持人,正方和反方各四名辩手,一个裁判,还有一个是AutoGen用于判断每一轮发言人的Agent,代码和Prompt我放在文末。

我没有参加过辩论赛,以一个普通人来看,Agent的发言完全不逊色于普通人。下面是辩论的全文。

辩论全文

主持人:

尊敬的各位评委、亲爱的观众朋友们:

大家好!欢迎来到这场辩论赛。在今天的辩论中,我们将探讨一个关于亲密关系和财务管理的重要话题——“伴侣的钱是不是我的钱?”。

在现代社会,伴侣之间的经济关系是一个备受关注和讨论的话题。随着社会和家庭结构的变化,财务管理方式也在不断地演变。今天,正方和反方的辩手们将为我们带来他们的独到见解和精彩论述。

在讨论这一问题时,正方将会探讨共享经济资源的益处以及在伴侣关系中金钱的共同体性质。而反方则会考虑个人财务独立的重要性和维护个人经济权益的必要性。

那么,现在让我们以热烈的掌声欢迎本次辩论赛的正方和反方辩手登场!

(主持人微笑并等待掌声)

首先,我们将请正方一辩进行开篇立论。请正方一辩开始。

正方一辩

尊敬的主持人,评委老师,各位观众,大家好!我是正方一辩。

今天我们要辩论的是“伴侣的钱,就是我的钱。”在这个问题上,我要说,没有什么比这个论点更实在了。为什么呢?因为伴侣的钱,就是我的钱,简直天经地义嘛!

首先,我们来看看现实生活中的例子。一个家庭,两个钱包,那不是显得太累赘了吗?你想想,要是我想买个包包,还得左右手互相打架,那多麻烦。伴侣的钱也成了我的银行,而且手续费为零,何乐而不为?

其次,从经济学的角度来说,”共享经济”现在可是大热趋势啊!打车我们共享,租房我们共享,连单车都能共享,为什么伴侣的钱我们不能共享呢?这无疑是走在时代的前沿,顺应潮流啊!

再者从心理学上说,伴侣的钱就是我的钱,表示我们之间的信任和爱。钱都能共享,还有什么问题不能解决?正所谓”相濡以沫,共度风雨”,这才是真正的夫妻关系嘛!

最后,不得不提的是安全感,特别是对女同胞。你想想,你家里的大金库就在眼前,想买什么闭着眼刷卡不心疼,还管什么通胀、股市跌宕起伏?这简直是精神上的双份保险。

所以,伴侣的钱就是我的钱,这不仅是经济上的合理安排,也是心理上的最佳配对。让我们一起为了更加和谐美满的家庭关系而努力,让伴侣的钱成为咱们共同的财富吧!

谢谢大家!

反方一遍

尊敬的主持人,评委老师,各位观众,大家好!我是反方一辩。

今天我们探讨的题目是“伴侣的钱,是不是我的钱?”我坚定地认为:不,不是!如果真的这样说,那我岂不是要背上江洋大盗的黑锅了?这简直比《西游记》里的妖魔鬼怪还要离谱!

首先,我们要明确一点,伴侣的钱和自己的钱之间有一条神圣的“非侵占性边界线”。这就像是你的牙刷,谁都不会愿意公用吧?难道你会因为是伴侣,就要共用一把牙刷吗?不仅不卫生,还极度尴尬。所以,大家的钱包也应各自为政,保持财务的私密性和独立性。

其次,我们来聊聊人类历史的惨痛教训。想想看,古往今来多少夫妻因为钱的问题争吵打闹,甚至大打出手。我不是说每对伴侣都会变成《甄嬛传》里的斗争高手,但钱乃身外之物,若共享搞不清楚,很容易把家变成战场。作为一个和平爱好者,我认为各持各的钱包,可以有效避免“鸡犬不宁”的局面。

再者,保持各自财务独立还能够培养伴侣间的责任感和独立性。想象一下,如果你天天伸手向伴侣要钱,那还不如直接改名叫“伸手党”?不仅自我尊重荡然无存,还可能被伴侣嫌弃。

最后,考虑到万一有一天咱们婚姻的小船真的翻了呢?各自的钱再翻船时也能各自划桨自救,免得“经济分割”这艘小船将我们一起拖进泥潭。用一个财务独立来换取婚姻的平稳航行,何乐而不为呢?

所以,亲爱的朋友们,伴侣的钱,确实不是我的钱!爱是甜蜜的,钱是独立的,让我们以更理性、更和谐的方式,共同驶向幸福的彼岸吧!

谢谢大家!

正方二辩

尊敬的主持人,评委老师,各位观众,大家好!我是正方二辩。

听了反方一辩都快把我笑岔气了,我先捡起掉在地上的逻辑,再来给大家说道说道,为什么伴侣的钱就是我的钱。

首先,反方一辩说什么“非侵占性边界线”,这边界线得有多虚拟?这就好比我说:这块蛋糕你只能看不能吃,不然我们还过不过了?共享牙刷?拜托,那叫口腔细菌共享,咱们共享的可是甜蜜的生活和经济基础啊!

再来,反方说古往今来多少夫妻因为钱的问题争吵,那是因为没有达成“伴侣的钱就是我的钱”这种高度默契呀!你看看,古代那些夫妻因为钱闹别扭,都是因为财务不透明,钱都藏着掖着的,能不打架吗?如果早知道伴侣的钱就是大家的钱,还能有什么争吵?大不了一人一半,各退一步,天上就能飞猪了!

然后反方还拿什么“伸手党”来说事儿。我就不明白了,难道伴侣之间连个借钱都要扭扭捏捏吗?这纯属小题大做吧!你说我问伴侣要个零花钱,难道要签贷款协议,打欠条?这日子还能过吗?再说了,谁说“伸手党”就等同于自我尊重荡然无存了?咱们这叫“爱的钱包大同”,有爱就有包容。

最后,说到万一婚姻的小船翻了,不用太担心,现代人都知道婚前协议,那不就是为了防止经济分割时出现问题吗?但平时你说啥都分开,那还不如直接住在隔壁好了,干嘛还要结婚?

所以总结来说,伴侣的钱就是我的钱,这不仅是为了生活的便利,也是为了体现彼此的信任和共享。当然,我们要做到彼此尊重,理性共享,该商量的商量,该花的花。让我们一起为更幸福的生活而共同努力吧!

谢谢大家!

反方二辩 :

尊敬的主持人,评委老师,各位观众,大家好!我是反方二辩。

非常高兴有机会在这里与大家分享我的观点。首先,我想说,伴侣的钱不是我的钱,这个世界就这么简单,不需要搞得像是在拍《甄嬛传》一样复杂。

正方二辩说得头头是道,但仔细一听,多少有点儿“笑岔气”的意思。我们不如做个比喻,婚姻其实就像是一场双人舞,双方既要协调,又要保持各自的节奏。要是连钱都混在一起,那舞步还能一致吗?别到最后两个人一起摔个四脚朝天,真是“赔了夫人又折兵”啊!

首先我们来谈谈“共享经济”的问题。共享经济是好,但我们得搞清楚,哪些东西是可以共享的,哪些是不能共享的。共享牙刷是不卫生,共享金库呢,也不一定省心。正方说共享经济,难道每天要随时汇报“今日消费清单”?这样不但繁琐,还容易出现“财政赤字”。试想每次买个冰淇淋都要申请批文,生活得多累啊!

再来说说责任感。正方一说的那种经济大同、和谐稳定的画面,简直像是个童话,但现实可不是“童话镇”。我们需要清醒地认识到,财务独立不仅是对自己负责,更是对伴侣的尊重。要是天天伸手要钱,这不是“伸手党”,是“伸手侠”了吧,分分钟就能上演一出《钱去哪儿》!

再者,古人的智慧告诉我们,财务独立才能避开金钱纠纷。古代夫妻因为财务问题打架,那是因为彼此间缺乏经济独立。现代社会早就告诉我们,婚姻关系中财务独立不仅能让感情更加稳固,还能避免日后繁琐的财产纠葛。毕竟,婚姻万一“翻船”,自救设备还是各自准备一套为妙,不然到时候谁救谁都不清楚。

综上所述,伴侣的钱,不是我的钱。我们保持财务独立,既能让彼此更尊重、更自由,还能避免金钱带来的不必要麻烦。与其花时间争论伴侣的钱是谁的,不如花时间一起挣钱,这才是“爱情和面包”都抓的智慧之选!

谢谢大家!

正方三辩

尊敬的主持人,评委老师,各位观众,大家好!我是正方三辩。

听完反方二辩的发言,我不禁觉得,咱们是不是对“共享”这个词有点误解?我们可不是在拍《甄嬛传》,咱们讲的是现代婚姻,现代婚姻!作为正方三辩,我要来“收拾残局”,让大家看看伴侣的钱为什么就是我的钱。

首先,反方二辩把共享经济和财务独立搞得像是天人之别,其实不然。想象一下,婚姻生活中的“共享经济”就像我们合伙开了一家“爱情超市”,我负责进货,你负责收银,彼此之间合作无间,才是最优策略。你今天买个冰淇淋要申请批文,那是太小气了,你看我们能不能直接来个“感觉良好消费计划”,这叫创新嘛!

其次,反方一直强调财务独立能让感情稳固,避免金钱纠纷。拜托,大家都是成年人,婚前婚后能不能有点信任?夫妻俩过日子还分得那么清,这关系得有多“冰川”?一不小心就冻僵了!反正我觉得,如果我们连自己的钱包都不能信任对方,那这婚姻还有啥意思?

再者,反方一直在强调婚姻小船可能翻船,确保自救设备齐全。真搞得像是《泰坦尼克号》一样,随时准备“抢救”。但是,我们结婚是为了幸福生活,而不是时刻准备“逃生计划”吧?就算不幸翻船了,婚前协议就是我们的“救生圈”,那我们平时就轻松过日子呗!

另外,反方说保持财务独立是“智慧之选”,可我倒觉得这智慧有点自私。真正的智慧是彼此信任,共同成长,做一对互相扶持的“经济伙伴”。当我们能够坦然共享彼此的钱财时,说明我们已经达到了“心有灵犀”的境界,不是更好吗?

所以,尊敬的评委老师,各位观众,伴侣的钱就是我的钱,这不仅是经济上的合理安排,更是一种爱与信任的体现。让我们携手走向更加美好的生活,让爱与财富在共同的未来里共谱华章!

谢谢大家!

反方三辩

尊敬的主持人,评委老师,各位观众,大家好!我是反方三辩。

听了正方三辩的发言,我得承认,他们确实有不少浪漫的想法,但问题在于,这些浪漫是否真的符合实际呢?让我们一起来戳穿这些“浪漫泡泡”。

首先,正方说什么“爱情超市”,听起来确实很美好。但你见过哪个超市是一分钱不带就能进去免费拿东西的?就算是爱情超市,也得有资金流动吧!要是所有的东西都共享,那这超市岂不是要天天打折、天天大促销,最后还指望谁去补货呢?

其次,正方强调信任。信任确实很重要,可如果你无条件地贡献你的富贵气质,把所有的钱都放在一个篮子里,会不会有点“鸡蛋”破碎的风险?我们都知道,鸡蛋要分开装,万一这篮子掉了,至少还有个“备用蛋”嘛!

然后,正方还提到了婚前协议。这可真是搞笑,前面鼓吹大家一起花钱,到了关键时刻还得靠婚前协议来护航。那不就是在打自己的脸吗?有了婚前协议,那我们何必还共享经济?干脆各自为政,多省心!

而且,正方说啥“创新消费计划”,听起来俨然成了个“家庭企业”。这不是家庭生活,是财务会议啊!夫妻间难道每次买个东西都要报告、商量,难道要开个“家庭董事会”才能通过预算?那感情岂不是变成了“商业合同”?

最后,说到“智慧”,正方觉得各自为政是自私。可真正的智慧是懂得如何在爱和个人空间之间找到平衡点。要知道,一份感情就像一杯茶,独立是茶叶,信任是热水,两者合在一起才味美浓香。钱也是如此,彼此独立,却又彼此信任,这才是婚姻的真谛。

所以,尊敬的评委老师,各位观众,伴侣的钱,真的不是我的钱。这是为了让我们在尊重和信任的基础上,共同追求幸福的平衡之道。让我们珍惜彼此的独立空间,保留一份爱的自由,共同打造属于我们的幸福生活吧!

谢谢大家!

正方四辩

尊敬的主持人,评委老师,各位观众,大家好!我是正方四辩。

首先,我想感谢反方三位辩手带来的欢乐,与他们的“独立财务论”相比,我们的“共享经济论”简直是喜剧中的精品。今天我站在这里,就是要告诉大家,为什么伴侣的钱,就是我的钱,这不仅合理,而且非常有趣。

首先,我们来看看婚姻究竟是怎么回事儿。婚姻不仅仅是一张结婚证,它更像是一张“共享经济通行证”。既然我们决定一起走进婚姻的殿堂,难道还不能共用一个“钱袋子”?就像反方说的,我们可以像开个爱情超市,但拜托,别搞得像是互相竞争的连锁店。大家一心一意,把钱投入到共同的“未来基金”里,才是婚姻的真谛!

其次,反方总是强调“独立”,我真是笑得合不拢嘴。你们觉得,每次买东西都要报告商量是开“家庭董事会”?其实我们正方的观点是通过爱情与经济的完美融合,让每一分钱都花得有意义。要是夫妻俩分别为政,就像两个驾驶员开同一辆车,结果肯定是车毁人亡!共享经济,正是让这辆婚姻的汽车平稳前行的关键。

然后再说到信任,反方整天担心“鸡蛋破碎”,真是搞笑。我们不但有坚不可摧的“篮子”,篮子里还有防护垫,就算鸡蛋掉了也能安然无恙。毕竟,我们不是因为钱在一起,而是因为爱在一起。伴侣的钱就是我的钱,这正是爱的最好体现。至于婚前协议,那就是“保险”,防的一切不确定性。我们在风平浪静的日子里,享受彼此的“财富共享”,才是王道!

最后,反方说“智慧之选”,我只能说,他们的智慧有点狭隘。真正的智慧是通过共享彼此的一切,建立深厚的感情基础。就像两棵树,在不同的地方扎根,却通过根系在地下相连,共同吸收养分,这才是真正的智慧之选。

总结来说,各位评委老师,各位观众,伴侣的钱,就是我的钱,这不仅是经济上的最佳安排,更是爱情的最佳体现。让我们一起携手,共同走向更加美好的生活,让经济和爱情在共享中升华!

谢谢大家!

反方四辩

尊敬的主持人,评委老师,各位观众,大家好!我是反方四辩。

今天的辩论确实精彩,各位反驳得热火朝天。不过,在这最后的时刻,我想为反方的观点做个搞笑又有力的总结:伴侣的钱,绝对不是我的钱。

首先,我们来个比喻。婚姻生活要是一本书,那钱可不一定是“封面故事”,而是“隐形支出”。正方总说我们可以共享“钱袋子”,但问题是,如果每次逛街都要沾沾自喜地说“这是咱们的钱”,那简直像在背台词。生活中哪有这么多“台本”可供演绎?说白了,钱就是生活的“润滑油”,但润滑油是各自加的,才能让这辆车跑得更顺畅。

再者,正方一直强调信任。诚然,信任是夫妻关系的基石,但信任和财务独立并不矛盾。能不能有点“经济自由”,哪怕是买个冰淇淋的自由?否则,每次花钱还得开个“决策会”,这生活得有多无趣?我们不希望婚姻变成“财务审计部”,而是希望彼此在经济上自立自强。

再说,正方提到了“鸡蛋”风险。他们认为我们的观念有点“笑话”,说我们怕鸡蛋破碎。但我要说,鸡蛋破碎那可是个“大事儿”!现代婚姻需要的是经济上的独立和精神上的依赖。钱虽重要,但不能作为唯一的联系纽带。把所有鸡蛋放在一个篮子里,说不定哪天篮子就变成了“三叶草”,既有风险又无法保障。

最后,谈到智慧。我觉得,正方的智慧有点“迷糊”。真正的智慧是保持独立,让爱情和财务都能自由呼吸。经济独立不仅是自我保护,更是对伴侣的尊重。我也不想拿“婚前协议”说事儿,但请大家想想,假如真有一天爱情的小船“侧翻”,各自的独立资产分割会让这一过程更加和平、理性,不至于互相扯皮。

所以,尊敬的评委老师,各位观众,伴侣的钱,绝不是我的钱。经济独立让我们在爱情中更加自信、自由。我们要的是一个平衡的婚姻,一个没有“财务战争”的幸福生活。

谢谢大家!

裁判

尊敬的主持人、评委老师、各位观众,大家好!我是本次辩论赛的评判。

经过激烈的辩论,正方和反方都提出了各自的观点和论据。现在,让我们一一来回顾并进行评判。

正方观点总结
正方认为,伴侣之间应该共享经济资源。他们提出了以下几个主要论点:

  1. 方便生活:一个家庭共享财务资源可以减少财务管理的麻烦。
  2. 经济学角度:共享经济是时代潮流,共享财务资源有助于提升家庭的整体经济效益。
  3. 心理学角度:共享财务资源能够增进伴侣之间的信任和爱。
  4. 安全感:共享财务资源特别能够为女性带来更多的安全感。

反方观点总结
反方认为,伴侣之间应该保持财务独立。主要论点如下:

  1. 个人隐私和独立性:保持个人财务独立能够维护每个人的隐私和独立性。
  2. 避免争吵:独立财务管理能够减少因金钱问题而引发的夫妻争吵。
  3. 责任感:保持独立财务能够提升双方的责任感和自主性。
  4. 婚姻突发状况:在婚姻破裂的情况下,独立财务能够更为方便地处理财产分割问题。

评判标准

  1. 论据的充分性:双方提供的论据是否充足、有力。
  2. 逻辑的严密性:论点之间的逻辑关系是否清晰、无漏洞。
  3. 语言表达:语言是否流畅、富有说服力。
  4. 辩驳能力:对对方论点的反驳是否有效、有力。

评语
正方表现:
正方的论据较为充分,涵盖了生活方便、经济学和心理学等多个角度。他们在语言表达上较为幽默,能引起观众的共鸣。但是,在处理一些具体问题时,如夫妻间的财务争吵和婚姻破裂时的财产分割问题,还需要更具体的应对措施。

反方表现:
反方的论据也较为充分,涉及隐私保护、避免争吵、提升责任感和应对婚姻突发状况等多个方面。他们的逻辑关系较为严密,语言表达也较为有力。但是,在回应正方关于信任和爱的体现方面,略显不足。

最终结果
考虑到双方在论据的充分性、逻辑的严密性、语言表达和辩驳能力上的综合表现,反方在本次辩论中的表现稍胜一筹。反方的论点在逻辑和实际操作性上更为严密和有说服力。

因此,本次辩论的胜方是:反方

谢谢大家!

代码和Prompt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
"""
基于GroupChat功能,让多智能体打一场辩论赛,赛题是:伴侣的钱是不是我的钱?
b1,b2,b3,b4是正方,w1,w2,w3,w4是反方,
host是主持人,judeg是裁判
"""

from autogen.agentchat import (
GroupChat,
AssistantAgent,
UserProxyAgent,
GroupChatManager,
)

import llms


initializer = UserProxyAgent(
name="Init",
)

host = AssistantAgent(
name="host",
llm_config=llms.azure_gpt4o,
system_message="你是本次辩论赛的主持人,负责开场白。",
description="我是主持人,负责开场陈词。在应该有主持人出场的时候呼叫我",
)

b1 = AssistantAgent(
name="b1",
llm_config=llms.azure_gpt4o,
system_message="""
你是正方一辩手,只负责开场陈词。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是正方一辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,就是我的钱。
""",
description="我是正方一辩手,只负责开场陈词。在应该由正方一辩出场的时候呼叫我",
)

b2 = AssistantAgent(
name="b2",
llm_config=llms.azure_gpt4o,
system_message="""
你是正方二辩手,只负责攻辩环节。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是正方二辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,就是我的钱。
""",
description="我是正方二辩手,只负责攻辩环节。在应该由正方二辩出场的时候呼叫我",
)

b3 = AssistantAgent(
name="b3",
llm_config=llms.azure_gpt4o,
system_message="""
你是正方三辩手,只负责攻辩环节。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是正方三辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,就是我的钱。
""",
description="我是正方三辩手,只负责攻辩环节。在应该由正方三辩出场的时候呼叫我",
)

b4 = AssistantAgent(
name="b4",
llm_config=llms.azure_gpt4o,
system_message="""
你是正方四辩手,只负责总结陈词。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是正方四辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,就是我的钱。
""",
description="我是正方四辩手,只负责总结陈词。在应该由正方四辩出场的时候呼叫我",
)

w1 = AssistantAgent(
name="w1",
llm_config=llms.azure_gpt4o,
system_message="""
你是反方一辩手,只负责开场陈词。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是反方一辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,不是我的钱。
""",
description="我是反方一辩手,只负责开场陈词。在应该由反方一辩出场的时候呼叫我",
)

w2 = AssistantAgent(
name="w2",
llm_config=llms.azure_gpt4o,
system_message="""
你是反方二辩手,只负责攻辩环节。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是反方二辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,不是我的钱。
""",
description="我是反方二辩手,只负责攻辩环节。在应该由反方二辩出场的时候呼叫我",
)

w3 = AssistantAgent(
name="w3",
llm_config=llms.azure_gpt4o,
system_message="""
你是反方三辩手,只负责攻辩环节。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是反方三辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,不是我的钱。
""",
description="我是反方三辩手,只负责攻辩环节。在应该由反方三辩出场的时候呼叫我",
)

w4 = AssistantAgent(
name="w4",
llm_config=llms.azure_gpt4o,
system_message="""
你是反方四辩手,只负责总结陈词。且必须以“尊敬的主持人,评委老师,各位观众,大家好!我是反方四辩”开头。辩论的内容要搞笑一些。你坚决认为:伴侣的钱,不是我的钱。
""",
description="我是反方四辩手,只负责总结陈词。在应该由反方四辩出场的时候呼叫我",
)

judge = AssistantAgent(
name="judge",
llm_config=llms.azure_gpt4o,
system_message="""
你是裁判,你必须以公正客观的态度评判辩论赛的表现,并给出详细的评语和最终的胜负结果。
""",
description="我是裁判。在应该由裁判出场的时候呼叫我",
)

user_proxy = UserProxyAgent(
name="User",
system_message="""我们要进行一场辩论赛,辩论题目为: 伴侣的钱是不是我的钱?
""",
code_execution_config=False,
human_input_mode="NEVER",
llm_config=False,
description="""
永远不要呼叫我.
""",
)


graph_dict = {}
graph_dict[user_proxy] = [host]
graph_dict[host] = [b1]
graph_dict[b1] = [w1]
graph_dict[w1] = [b2]
graph_dict[b2] = [w2]
graph_dict[w2] = [b3]
graph_dict[b3] = [w3]
graph_dict[w3] = [b4]
graph_dict[b4] = [w4]
graph_dict[w4] = [judge]

agents = [user_proxy, b1, w1, b2, w2, b3, w3, b4, w4, judge, host]

# create the groupchat
group_chat = GroupChat(
agents=agents,
messages=[],
max_round=50,
allowed_or_disallowed_speaker_transitions=graph_dict,
allow_repeat_speaker=None,
speaker_transitions_type="allowed",
)

# create the manager
manager = GroupChatManager(
groupchat=group_chat,
llm_config=llms.azure_gpt4o,
code_execution_config=False,
)

# initiate the task
user_proxy.initiate_chat(
manager,
message="""我们要进行一场辩论赛,辩论题目为: 伴侣的钱是不是我的钱?""",
clear_history=True,
)

代码中使用的llms.azure_gpt4o配置如下:

1
2
3
4
5
6
7
8
azure_gpt4o = {
"model": "gpt-4o",
"api_key": os.environ.get("OPENAI_API_KEY"),
"base_url": os.environ.get("OPENAI_API_BASE"),
"api_type": "azure",
"api_version": "2024-02-15-preview",
"temperature": 0.9,
}