AI Dungeon Crawler 地牢探险
基于本地 Qwen2.5 3B 模型与 LangChain 的文本地牢探险游戏,LLM 担任地下城主,Python 负责权威游戏状态,支持自然语言指令与工具调用。
爱鲜报评分
0.0
0 人评分
0
星数
否
中文
Python
主语言
是
活跃
1
贡献者
人工分析
EDITORIAL推荐理由
项目清晰展示了如何用 LangChain 将本地 LLM 安全地接入游戏逻辑,模型只负责理解与叙事,状态由 Python 掌控,适合学习 Agent 工具调用与状态隔离。代码结构简洁,适合作为 GenAI 课程项目或入门参考。
适用场景
- GenAI 课程项目演示
- 本地 LLM 与游戏结合实验
- LangChain Agent 工具调用学习
- 文本冒险游戏原型开发
- Ollama 本地模型应用实践
优点
- 架构清晰,模型与游戏状态严格分离,安全性好
- 使用本地 Ollama 模型,无需联网,隐私友好
- 工具调用设计规范,每个工具都有输入验证
- 代码量小,易于理解和二次开发
- 内置降级机制,Ollama 不可用时仍可基本运行
缺点
- 依赖本地 Ollama 和 qwen2.5:3b 模型,需要一定硬件资源
- 游戏内容较简单,仅七个房间和少量敌人
- 无图形界面,仅支持终端交互
- 项目星标少,社区和文档支持有限
上手难度
进阶
AI Dungeon Crawler 地牢探险
这是一个基于本地大语言模型的文本地牢探险游戏,使用 Qwen2.5 3B 模型和 LangChain 构建 AI 地下城主。玩家在终端中用自然语言输入指令,模型理解意图并调用工具与游戏世界交互。
核心设计
项目将游戏状态与模型输出严格分离:
- Python 负责权威状态:房间、玩家生命、物品、战斗、锁、存档和胜负条件全部由 Python 管理。
- LLM 负责理解与叙事:模型只能请求调用工具(如
attack),不能直接修改敌人血量、切换房间或执行代码。 - 工具验证:每个工具都会校验输入并返回真实的游戏结果。
技术栈
- Python:游戏逻辑与状态管理
- Ollama:本地运行
qwen2.5:3b开源模型 - LangChain:将安全函数绑定为工具,并发送聊天历史与系统提示
快速开始
- 安装 Ollama 并拉取模型:
ollama pull qwen2.5:3b
- 创建虚拟环境并安装依赖:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
- 确保 Ollama 运行,然后启动游戏:
python main.py
游戏玩法
地牢包含七个地点:入口、十字路口、军械库、哥布林巢穴、封印之门、Boss 圣所和出口。击败哥布林获得铁钥匙,打开北门,击败死灵法师 Morcant,最后从黎明之门离开。军械库中的钢剑可让战斗更轻松。
示例指令:
look around
go north
talk to the stranger
attack the skeleton
pick up steel sword
use health potion
save game
输入 help 查看帮助,quit 或 exit 退出。存档写入 data/saves/dungeon_save.json,日志记录在 data/game.log。
项目结构
main.py CLI 循环
game/ 玩家、敌人、房间及权威机制
ai/ Ollama 模型、系统提示和 LangChain Agent
utils/file_manager.py JSON 存档/读档辅助
data/ 生成的存档和日志文件
未来改进
可扩展更多房间和任务、多样化的敌人能力、多个 NPC,以及 Streamlit 界面。当前版本刻意保持简单,便于课程演示。
评论
- 暂无评论,来写第一条吧。