AX 爱鲜报

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:将安全函数绑定为工具,并发送聊天历史与系统提示

快速开始

  1. 安装 Ollama 并拉取模型:
ollama pull qwen2.5:3b
  1. 创建虚拟环境并安装依赖:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
  1. 确保 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 界面。当前版本刻意保持简单,便于课程演示。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。