保姆级教程:用AgentScope和通义千问(qwen-max)快速搭建一个诗词接龙游戏
2026/6/8 8:51:30 网站建设 项目流程

30分钟极速搭建:用AgentScope与通义千问打造智能诗词接龙游戏

诗词接龙作为中国传统文化的经典游戏形式,正在AI技术的赋能下焕发新生。本文将带你使用AgentScope框架和通义千问(qwen-max)大模型,快速构建一个具备"出题者"与"评审者"双智能体的诗词接龙系统。无需复杂开发经验,只需跟随步骤配置两个关键文件,即可在半小时内完成从零到可运行游戏的完整搭建。

1. 环境准备与框架认知

在开始编码前,我们需要准备好基础开发环境。推荐使用Python 3.8或更高版本,并创建一个干净的虚拟环境:

python -m venv poetry_env source poetry_env/bin/activate # Linux/Mac # poetry_env\Scripts\activate # Windows

安装AgentScope框架及其依赖项:

pip install agentscope dashscope

AgentScope作为多智能体应用开发框架,其核心优势在于:

  • 模块化设计:通过配置文件定义智能体行为
  • 低代码集成:简化多智能体协作流程
  • 模型无关性:支持多种大语言模型后端

提示:建议提前申请好通义千问的API Key,可在阿里云官网免费获取试用额度

2. 模型配置:连接qwen-max

创建model_config.json文件,这是连接大模型的核心配置。以下是一个完整示例:

[ { "model_type": "dashscope_chat", "config_name": "qwen", "model_name": "qwen-max", "api_key": "your_api_key_here", "generate_args": { "temperature": 0.3, "top_p": 0.8, "max_tokens": 512 } } ]

关键参数说明:

参数名推荐值作用
temperature0.3-0.5控制输出随机性,值越低越确定
top_p0.7-0.9核采样阈值,影响回答多样性
max_tokens256-512限制生成内容长度

3. 智能体设计:角色与Prompt工程

创建agent_configs.json定义游戏中的两个核心角色:

[ { "class": "DialogAgent", "args": { "name": "出题官", "sys_prompt": "你是一位中国诗词专家,负责从'春 夏 秋 冬 风 花 雪 月'中随机选择一个字作为题目。你只需要回复这个单字,不要添加任何解释或修饰。", "model_config_name": "qwen", "use_memory": false } }, { "class": "DialogAgent", "args": { "name": "评审官", "sys_prompt": "你负责评审玩家提供的诗句是否符合规则:1)必须是中国古诗词 2)包含出题官给出的关键字 3)不能与之前重复。若符合则回复'有效接龙+诗句出处',否则指出违反的具体规则。保持专业且简洁的评审风格。", "model_config_name": "qwen", "use_memory": true } } ]

Prompt设计技巧:

  • 角色明确:给智能体清晰的身份定位
  • 指令具体:用数字列表明确规则要求
  • 输出限制:控制回复格式和长度
  • 记忆控制:评审官需要记忆历史,出题官则不需要

4. 游戏逻辑实现

创建poem_game.py作为主程序文件:

import agentscope from agentscope.pipelines import SequentialPipeline def initialize_agents(): """初始化智能体""" return agentscope.init( model_configs="./model_config.json", agent_configs="./agent_configs.json" ) def game_loop(agents): """游戏主循环""" host, judge = agents print("诗词接龙游戏开始!(输入'退出'结束游戏)\n") while True: # 出题阶段 keyword = host().content print(f"\n本轮关键字:【{keyword}】") # 玩家输入 user_input = input("请输入包含该字的诗句:") if user_input == "退出": break # 评审阶段 judge_input = f"关键字:{keyword},诗句:{user_input}" result = judge(judge_input).content print(f"\n评审结果:{result}") if __name__ == "__main__": agents = initialize_agents() game_loop(agents)

运行效果示例:

诗词接龙游戏开始!(输入'退出'结束游戏) 本轮关键字:【花】 请输入包含该字的诗句:花间一壶酒 评审结果:有效接龙,出自李白《月下独酌》

5. 进阶优化与部署

基础版本运行稳定后,可以考虑以下增强功能:

性能优化技巧

  • 添加输入校验防止空输入
  • 实现得分统计系统
  • 增加回合数限制

本地Web界面(使用Gradio):

import gradio as gr from game_core import play_round # 封装好的游戏逻辑 with gr.Blocks() as demo: gr.Markdown("## 智能诗词接龙") keyword_box = gr.Textbox(label="当前关键字") input_poem = gr.Textbox(label="输入诗句") output_result = gr.Textbox(label="评审结果") def game_interface(poem): keyword, result = play_round(poem) return keyword, result input_poem.submit( game_interface, inputs=input_poem, outputs=[keyword_box, output_result] ) demo.launch()

ModelScope部署要点

  1. 将API Key存入环境变量
  2. 添加requirements.txt声明依赖
  3. 设置启动脚本app.py

6. 错误排查与效果调优

常见问题解决方案:

问题现象可能原因解决方法
智能体不按规则评审Prompt指令不明确用数字列表细化规则
响应速度慢网络延迟或模型负载高调整timeout参数
回答不符合预期temperature值过高降低至0.3以下

效果优化方向:

  • 扩展关键词库(如加入"山 水 云"等自然意象)
  • 添加诗句难度分级
  • 实现多轮对话记忆

这个项目最令人惊喜的是qwen-max对古诗词的识别准确率,在实际测试中,即使是相对冷门的诗句也能正确判断出处。配置过程中发现,将temperature设为0.3时,评审结果的稳定性最佳。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询