使用 Yi 大模型玩转街霸三:基于 llm-colosseum 与 Diambra 的 LLM 游戏 AI 实战指南
2026/9/16 16:30:50 网站建设 项目流程

使用 Yi 大模型玩转街霸三:基于 llm-colosseum 与 Diambra 的 LLM 游戏 AI 实战指南

【免费下载链接】YiA series of large language models trained from scratch by developers @01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi

导读

本文基于本仓库 Cookbook 中的 使用Yi大模型玩转街霸三.md 展开,完整复现"用 yi-large 大模型控制经典格斗游戏《街霸三》角色进行对战"的落地全流程:从 Docker、Conda、Diambra 账号等环境准备,到 Yi 模型 API 密钥获取、llm-colosseum 项目配置,再到通过diambra命令启动游戏。读完本文,你将掌握一套"LLM 观察游戏画面 → 生成动作指令 → 驱动游戏角色"的可复现实验方案,并能在此基础上替换模型、调整 Prompt 进行二次探索。

一、项目概述:大语言模型如何"打"格斗游戏

在这个项目中,我们完成的是一条完整的 LLM 游戏 AI 链路:

  1. 设置必要的环境和工具(Docker Desktop、Conda、Diambra);
  2. 获取 Yi 模型的 API 密钥;
  3. 配置并运行 llm-colosseum 游戏环境;
  4. 让 Yi 模型接管《街霸三》角色,实时生成出招决策并完成对战。

整个系统由两部分协同:Diambra Arena提供可编程控制的街霸三模拟环境(负责渲染画面、接收动作、返回状态),Yi 大模型(默认yi-large)则扮演"玩家大脑",根据游戏观察结果输出下一步动作。从仓库中 基于yi-large构建思维导图生成器.md 等文档可以看出,yi-large通过零一万物开放平台以 OpenAI 兼容的 HTTP 接口对外提供服务(base_urlhttps://api.lingyiwanwu.com/v1,模型名yi-large),这种标准化的对话式 API 正是本项目能够快速接入游戏决策循环的基础。

"Diambra 平台中运行中的街霸三对战画面".png)

二、实验环境与前置要求

本教程面向基础较薄弱的读者,建议按照以下环境清单逐项核对:

项目要求说明
操作系统Windows 或 macOS本文以 macOS 为例展开
Python3.10用于创建 Conda 虚拟环境
Docker Desktop最新稳定版Diambra 游戏镜像依赖容器运行
Diambra 账号需要注册首次运行需用其登录认证
Yi 模型 API 密钥需要申请通过零一万物开放平台获取

从本仓库 README.md 可知,Yi 系列是 01.AI 从零训练的开源双语大模型(基于 3T 多语种语料),而yi-large则是通过官方开放平台以 API 方式调用的商用对话模型——本教程正是利用它无需本地 GPU 即可获得强推理能力的特性,把"模型大脑"接入游戏。

三、步骤 1:环境准备

3.1 安装 Docker Desktop

  1. 访问 Docker Desktop 官方网站;
  2. 下载与你的操作系统匹配的安装包(macOS 用户注意区分 Apple Silicon 与 Intel 版本);
  3. 按照安装向导完成安装;
  4. 安装完成后重启电脑,确保 Docker 服务正常启动(菜单栏出现 Docker 图标)。

说明:Diambra Arena 以 Docker 镜像方式分发游戏环境,Docker Desktop 是运行其游戏模拟器的必备前置。

3.2 安装 Conda 并验证

Conda 是强大的包管理工具,我们将用它为项目创建独立的 Python 3.10 虚拟环境,避免依赖冲突:

  1. 访问 Conda 官网,下载并安装Miniconda(推荐)或 Anaconda;
  2. 安装完成后打开终端,输入以下命令验证安装:
conda --version

如果终端输出版本号(例如conda 24.1.2),说明安装成功。

"macOS 终端中执行 conda --version 并成功输出版本号".png)

3.3 注册 Diambra 账号

Diambra 提供了我们所需的可编程游戏环境:

  1. 访问 Diambra 官方注册页面;
  2. 填写必要信息并完成注册;
  3. 保存好账号密码——首次运行游戏时会要求输入,用于拉取游戏镜像时的身份认证。

四、步骤 2:获取 Yi 模型 API 密钥

要让 Yi 大模型"看懂"游戏并做出决策,需要先拿到调用权限:

  1. 访问 Yi 大模型开放平台(零一万物开放平台);
  2. 注册并登录账号;
  3. 在平台控制台创建新的API Key
  4. 妥善保存密钥,后续写入项目的环境变量文件中。

平台生成的密钥用于请求身份验证,调用时配合模型名yi-large使用。仓库内其他 Cookbook 文档(如 基于LlamaIndex和Yi-large构建智能问答系统.md)也采用了相同的密钥获取与调用方式,可作为补充参考。

"零一万物开放平台 API Key 管理页面,包含创建 API Key 入口".png)

五、步骤 3:配置项目环境

5.1 克隆项目仓库

打开终端,执行以下命令拉取 llm-colosseum 项目并进入目录:

git clone https://github.com/Yimi81/llm-colosseum.git cd llm-colosseum

5.2 创建并激活虚拟环境

在项目目录下,用 Conda 创建 Python 3.10 环境并激活:

conda create -n yi python=3.10 -y conda activate yi

5.3 安装依赖

pip install -r requirements.txt

该命令会安装 llm-colosseum 所需依赖(包括 Diambra 客户端、大模型 SDK 及 torch、transformers 等相关库),是后续运行diambra命令的前提。

5.4 配置环境变量

  1. 复制示例环境文件:
cp .env.example .env
  1. 编辑.env文件:在 macOS 上,你可能需要显示隐藏文件,使用快捷键Command + Shift + .即可切换隐藏文件的显示/隐藏;
  2. 打开.env,将YI_API_KEY替换为你之前在平台上获取的 API 密钥。

"llm-colosseum 项目目录中的关键文件(agent.py、script.py、requirements.txt 等)".png)

从项目文件结构可以推断,agent.py负责封装"Yi 模型 → 游戏动作"的决策逻辑,script.py是 Diambra 加载的入口脚本,.env则集中管理 API 密钥等敏感配置——保持密钥不写入代码、统一由环境变量注入,是后续替换模型或分享代码时的良好实践。

六、步骤 4:启动游戏

6.1 找到 ROM 文件路径

在 macOS 环境中,ROM 文件通常位于:

/Users/你的用户名/Desktop/code/llm-colosseum/.diambra/rom

记住这个路径,我们称之为<your_roms_absolute_path>(即 ROM 的绝对路径),后面启动命令会用到。

6.2 启动游戏

在终端中执行:

diambra -r <your_roms_absolute_path> run -l python script.py

命令各部分的含义:

参数作用
diambraDiambra CLI 客户端,管理游戏环境
-r <your_roms_absolute_path>指定 ROM 文件所在目录的绝对路径
run启动一个游戏实例
-l python script.py指定用 Python 解释器加载并运行script.py

首次运行时,系统会提示你输入 Diambra 账号的用户名和密码;认证通过后,游戏镜像开始自动下载,之后只需等待镜像拉取完成、游戏窗口弹出即可。

"终端中执行 diambra 相关命令,输出依赖环境与启动信息".png)

"左侧为街霸三对战画面,右侧终端实时输出模型决策与动作指令日志".png)

七、运行原理与进阶调优

7.1 决策闭环如何工作

从运行日志可以看到,系统以"游戏状态 → LLM 决策 → 动作指令 → 游戏响应"的闭环持续运转:终端实时打印模型生成的动作指令(如角色移动、出招等)以及调用 Yi API 的 HTTP 请求记录。这意味着整个对战过程并非预设脚本,而是每一帧都由yi-large根据当前战况动态生成,这正是大语言模型作为通用决策器(而非硬编码规则)在游戏 AI 领域的核心价值。

7.2 换用其他 Yi 模型

项目默认使用yi-large,你可以尝试修改配置或代码中的模型名,改用其他 Yi 模型(如yi-medium)来对比不同模型的决策风格与出招质量。由于模型名统一由 API 参数指定,切换成本很低;平台也针对不同模型提供了对应的调用配额(TPM,每分钟 Token 数)档位,可根据实际需求选择。

"开放平台不同模型(yi-large、yi-medium 等)对应的 TPM 配额信息".png)

7.3 调整 Prompt 改变 AI 行为

同样的模型,通过调整喂给 LLM 的系统提示(Prompt),可以让角色呈现完全不同的打法——例如激进压制、防守反击等风格。建议在修改 Prompt 时保留游戏状态描述的最小必要信息,并用结构化格式组织观察数据,以帮助模型稳定输出合法的动作指令。

7.4 注意 API 频率限制

调用 Yi API 时可能遇到请求频率限制(Rate Limit)。如果对战过程中出现大量请求被拒绝、决策中断的情况,可以考虑升级 API 计划以获取更高的 TPM 配额,或适当降低决策频率、在动作指令中复用前一帧结果。

八、常见问题与排查建议

现象排查方向
diambra命令找不到确认已pip install -r requirements.txt且虚拟环境已激活
首次启动卡在登录确认 Diambra 账号已注册,输入的用户名/密码无误
提示找不到 ROM核对-r参数是否指向<your_roms_absolute_path>对应目录
游戏无 AI 决策检查.envYI_API_KEY是否已正确填写、密钥是否有效
决策频繁失败多为 API 频率限制,升级 API 计划或降低调用频率

结语

至此,你已经成功搭建并运行了一个由 Yi 大模型控制的《街霸三》AI 对战系统——这个项目直观展示了大语言模型在游戏 AI 领域的潜力。你可以继续沿着三条主线深入:更换不同规模的 Yi 模型(yi-large/yi-medium)观察决策差异、调整 Prompt 塑造不同战斗风格、或参考本仓库 Cookbook 中 基于LlamaIndex和Yi-large构建智能问答系统.md 等文档,把 Yi API 的能力扩展到更多应用场景。英文版对应教程见 Mastering Street Fighter III with the Yi Language Model。继续探索,享受 AI 带来的无限可能吧!

【免费下载链接】YiA series of large language models trained from scratch by developers @01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

立即咨询