Spaces:
Running
Running
metadata
title: AI Debate System
emoji: ⚔️
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
AI大模型辩论系统
项目简介
本项目是一个可以让两个AI大模型(ZhipuAI/GLM-4.5和deepseek-ai/DeepSeek-V3.1)根据给定话题进行实时辩论的系统。用户将能够实时观看两个模型之间的对话内容,并可以控制辩论的进行。
功能特点
- 支持两个AI大模型之间的实时辩论
- 可自定义辩论话题和轮数
- 实时显示辩论内容
- 支持暂停、恢复和停止辩论
- 保存完整的辩论记录
- 提供多种显示模式(简单控制台、控制台实时显示、文件保存、复合显示)
- 可查看历史辩论记录
- 支持流式输出,实时显示模型生成内容
- 提供图形用户界面(GUI),便于使用和分享
系统要求
- Python 3.7+
- requests库
- tkinter库(用于GUI界面)
安装说明
- 克隆或下载本项目
- 安装依赖包:
pip install -r requirements.txt
使用方法
命令行版本
在项目根目录下运行主程序:
python src/1_辩论系统.py
命令行参数
python src/1_辩论系统.py [--api-key API_KEY] [--display-type DISPLAY_TYPE]
参数说明:
--api-key
: API密钥(默认:ms-b4690538-3224-493a-8f5b-4073d527f788)--display-type
: 显示类型,可选值:simple, console, file, composite(默认:composite)
GUI版本
在项目根目录下运行GUI测试程序:
python src/5_GUI测试.py
GUI界面功能:
- 选择模型(GLM-4.5或DeepSeek-V3.1)
- 输入提示文本
- 实时流式显示模型输出
- 开始/停止生成按钮
- 清空输出和保存输出功能
操作流程
启动系统后,会显示主菜单:
- 开始新辩论
- 查看历史辩论记录
- 系统设置
- 退出系统
选择"开始新辩论"后,按提示输入:
- 辩论话题
- 辩论轮数(默认5轮)
- 首发模型(默认GLM-4.5)
确认参数后,辩论将自动开始,您可以实时观看两个模型的辩论内容。
在辩论过程中,您可以输入以下命令控制辩论:
stop
: 停止辩论pause
: 暂停辩论resume
: 恢复辩论
辩论结束后,系统会自动保存辩论记录。
项目结构
20250907_大模型辩论/
├── src/ # 源代码目录
│ ├── 1_辩论系统.py # 主程序文件
│ ├── 2_模型接口.py # 模型API接口封装
│ ├── 3_辩论控制器.py # 辩论流程控制
│ ├── 4_显示界面.py # 实时显示界面
│ └── 5_GUI测试.py # GUI测试程序
├── data/ # 数据目录
│ └── 辩论话题.txt # 存储辩论话题
├── output/ # 输出目录
│ ├── 辩论记录/ # 每次辩论的完整记录
│ └── 辩论统计/ # 辩论统计数据
├── logs/ # 日志目录
│ └── 系统运行日志.log # 系统运行日志
├── docs/ # 文档目录
│ ├── 项目规划.md # 项目规划文档
│ ├── 修改记录.md # 项目修改记录
│ └── 更新计划.md # 更新计划文档
├── models/ # 模型目录(预留)
├── sql/ # SQL脚本目录(预留)
├── requirements.txt # 依赖包列表
└── README.md # 本文档
模块说明
1_辩论系统.py
主程序模块,整合所有模块,提供用户交互界面。包含:
- 系统主菜单
- 辩论参数设置
- 历史记录查看
- 系统设置
2_模型接口.py
模型接口模块,封装两个大模型的API调用。包含:
- ModelInterface基类
- GLM45Interface类(GLM-4.5模型接口)
- DeepSeekV31Interface类(DeepSeek-V3.1模型接口)
- ModelManager类(模型管理器)
3_辩论控制器.py
辩论控制器模块,管理辩论流程和控制发言顺序。包含:
- DebateMessage类(辩论消息)
- DebateSession类(辩论会话)
- DebateController类(辩论控制器)
4_显示界面.py
显示界面模块,用于实时显示辩论内容。包含:
- ConsoleDisplay类(控制台显示界面)
- SimpleDisplay类(简单显示界面)
- FileDisplay类(文件显示界面)
- CompositeDisplay类(复合显示界面)
- DisplayManager类(显示管理器)
5_GUI测试.py
GUI测试模块,提供图形用户界面。包含:
- StreamOutputGUI类(流式输出GUI界面)
- 支持模型选择和流式输出显示
- 提供完整的用户交互功能
API信息
- API基础地址:https://api-inference.modelscope.cn/v1/
- 支持的模型:
- ZhipuAI/GLM-4.5
- deepseek-ai/DeepSeek-V3.1
注意事项
- 确保网络连接正常,能够访问API服务器。
- 辩论过程中请耐心等待,模型响应可能需要一定时间。
- 辩论记录会自动保存在
output/辩论记录/
目录下。 - 系统日志会记录在
logs/
目录下,便于排查问题。
常见问题
Q: 如何更换API密钥?
A: 可以通过命令行参数--api-key
指定,或者在代码中修改默认值。
Q: 如何更改显示模式?
A: 可以通过命令行参数--display-type
指定,或者在系统设置中更改。
Q: 辩论过程中出现错误怎么办?
A: 系统会自动记录错误信息到日志文件,可以查看logs/
目录下的日志文件排查问题。
Q: 如何查看历史辩论记录?
A: 在主菜单选择"查看历史辩论记录",然后选择要查看的记录即可。
开发计划
- 增加更多模型支持
- 优化辩论逻辑和提示词
- 添加辩论评分功能
- 开发图形用户界面
- 支持更多输出格式(如HTML、PDF等)
许可证
本项目仅供学习和研究使用。
联系方式
如有问题或建议,请通过以下方式联系:
- 邮箱:[您的邮箱]
- GitHub:[您的GitHub地址]