通过本课程设计任务,引导学生掌握使用人工智能,特别是大语言模型(如ChatGPT、文心一言等)的实际应用方式。通过设计和开发一个具体的软件项目,提升学生综合运用AI技术解决实际问题的能力,培养设计思维和工程实现能力,激发创新意识。 具体任务描述:围绕某一具体应用场景(可结合教育、生活、办公、娱乐等方向),借助大语言模型开发一个具有实用价值的小型软件。 要求进行软件设计与开发,独立设计并实现一个基于大模型的智能应用程序,要求功能完整,界面友好,逻辑清晰,可进行演示。选题为成语接龙小游戏:支持人机对战,由deepseek大模型判断成语是否符合规则。该软件打包成exe
时间: 2025-08-08 16:24:53 AIGC 浏览: 24
<think>嗯,用户想用DeepSeek大模型开发一个成语接龙游戏,支持人机对战,还要打包成exe。首先,我得理清楚开发流程。可能需要分几个步骤:模型调用、游戏逻辑、打包处理。首先,模型调用部分。用户需要让AI生成接龙的成语,所以得用DeepSeek的API。需要申请API Key,然后根据文档发送请求。比如,用户输入一个成语后,程序要提取最后一个字,然后让模型生成下一个成语。这里要注意提示词的设计,确保模型返回的成语符合接龙规则,比如最后一个字的拼音首字母匹配。可能需要用正则表达式提取关键信息,避免模型返回多余内容。然后是游戏逻辑。人机对战的话,流程应该是系统先出一个成语,然后玩家接,接着AI接,循环直到一方无法接龙。需要维护一个已用成语列表,防止重复。还要检查用户输入的成语是否合法,比如是否是四字成语,开头是否匹配上一个成语的结尾。这部分可能需要一个本地成语库进行验证,因为完全依赖模型可能会有延迟或错误。不过用户提到引用的内容里有提到本地成语库,可能可以结合两者,用本地库做校验,用模型生成新成语。
接下来是打包成exe。Python的话,常用PyInstaller。需要注意路径问题,比如资源文件(成语库)的路径可能需要特别处理。还有依赖管理,确保所有用到的库都被正确打包。如果用了异步请求,比如aiohttp,要检查是否会有兼容性问题。可能遇到的问题:模型响应时间过长,影响游戏体验。可以考虑设置超时,或者提前缓存一些常见接龙。另外,成语的合法性检查,比如用户输入的不是成语,或者接龙不正确,需要及时提示。还有如何处理多音字的问题,比如“重”字不同读音可能导致接龙错误,可能需要更复杂的拼音处理库,比如pypinyin。用户提到的引用中,有提到之前的程序不支持文件读取和重复检测,所以在新开发中需要注意这些点。比如将成语库放在文件中,而不是硬编码在代码里。还有重复成语的检测,需要在游戏逻辑中加入检查。
另外,打包时如何保护API Key?如果直接打包进exe,可能会有泄露风险。可能需要让用户在运行时自行输入APIKey,或者加密处理,但这会增加用户复杂度。需要权衡安全性和便利性。
测试环节也很重要,确保各模块协同工作。比如模拟网络请求失败的情况,看程序是否有妥善处理。还有用户输入非法内容时的提示是否友好。最后,文档和用户指引,说明如何申请API Key,如何运行游戏,以及常见问题解决方法。</think>### 分步骤解决方案
#### 一、环境准备与工具选择
1. 安装Python 3.8+并配置虚拟环境
2. 使用`requests`/`aiohttp`库调用DeepSeek API
3. 选择`PyInstaller`或`auto-py-to-exe`进行打包
4. 准备本地成语库文件(推荐JSON格式)
```python
# 示例成语库结构
{
"成语": ["刻舟求剑", "剑拔弩张"],
"拼音": ["ke zhou qiu jian", "jian ba nu zhang"]
}
```
#### 二、DeepSeek API集成
1. 注册DeepSeek开发者账号获取API Key
2. 设计提示词模板实现接龙逻辑:
```python
prompt_template = """根据成语接龙规则,以'{last_char}'开头的成语,排除已使用过的{used_idioms},只返回合法四字成语"""
```
3. 实现API请求函数(注意速率限制):
```python
async def get_ai_response(last_char: str, used: list) -> str:
response = await deepseek.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": prompt_template}]
)
return parse_response(response.choices[0].message.content)
```
#### 三、游戏逻辑实现
1. 核心状态机设计:
```
初始化 → 系统出题 → 玩家响应 → 验证 → AI响应 → 循环验证
↑____________游戏结束____________↓
```
2. 实现输入验证模块:
```python
def validate_input(user_input: str, last_char: str) -> bool:
return (len(user_input) == 4
and user_input not in used_idioms
and pinyin(user_input[0]) == pinyin(last_char))
```
#### 四、打包与优化
1. 使用PyInstaller配置文件:
```bash
pyinstaller --onefile --add-data "idiom_library.json;." main.py
```
2. 解决打包常见问题:
- 使用`sys._MEIPASS`处理资源文件路径
- 隐藏API Key的三种方法:
```python
# 方法1:环境变量
os.getenv("DEEPSEEK_KEY")
# 方法2:配置文件加密
# 方法3:运行时输入
```
#### 五、测试方案
1. 单元测试覆盖核心模块
2. 网络异常模拟测试
3. 边界条件测试(如:无可用接龙成语)
###
阅读全文
相关推荐



















