gpt-oss-space-game
扫码查看

体验在太空中与AI一起修复飞船的语音冒险游戏

gpt-oss-space-game

综合介绍

《gpt-oss-space-game》是一个开源的语音冒险游戏项目,它将OpenAI发布的最新开源语言模型gpt-oss与语音交互技术相结合,为玩家打造了一个独特的太空生存体验。在游戏中,你将扮演一艘名为“梯度上升号”的轻型运输船上唯一的船员。飞船因未知原因发生了灾难性故障,你需要与飞船的人工智能(AI)进行语音对话,一步步诊断飞船的故障,并最终找到安全的空间站或行星进行停靠。整个游戏的核心是利用gpt-oss模型来驱动与飞船AI的对话,并通过voice-ui-kit(一个React前端框架)和pipecat(一个语音机器人框架)来实现完整的语音交互。这意味着你可以完全通过声音来控制游戏进程,体验一次身临其境的太空救援任务。该项目的一个重要特点是它可以在本地运行,利用你自己的计算机硬件来驱动整个游戏体验,同时也支持灵活更换云端的AI服务。

功能列表

  • 沉浸式语音交互:游戏完全通过语音进行控制,玩家通过与飞船AI的对话来推动故事发展和解决问题。
  • 本地化运行:整个游戏,包括gpt-oss语言模型、Whisper语音识别和Kokoro文本转语音,都可以在本地计算机上运行,无需依赖云服务。
  • 开源和可定制:项目代码完全开源,允许开发者根据自己的需求进行修改和扩展,例如替换成其他的AI模型或语音服务。
  • 动态故事生成:基于gpt-oss的强大推理能力,游戏中的对话和情节可以根据玩家的输入动态生成,提供高度自由的探索体验。
  • 跨平台兼容性:前端界面使用React构建,后端服务基于Python,可以在多种操作系统上部署和运行。

使用帮助

这个项目是一个结合了多种技术的实验性游戏,安装和运行过程相对复杂,需要一定的技术背景。以下是详细的安装和使用步骤:

第一步:准备环境和依赖

在开始之前,你需要确保你的电脑上安装了Python 3.12Node.js

第二步:设置后端服务

后端服务是整个游戏的核心,它负责处理语音识别、语言模型推理和语音合成。

  1. 克隆代码库:首先,从GitHub上克隆gpt-oss-space-game项目的代码。
    git clone https://github.com/kwindla/gpt-oss-space-game.git
    cd gpt-oss-space-game/server
    
  2. 创建并激活Python虚拟环境:在server目录下,创建一个独立的Python虚拟环境,以避免与系统中的其他Python库冲突。
    python3.12 -m venv venv
    source venv/bin/activate
    
  3. 安装依赖库:安装所有必要的Python库。
    pip install -r requirements.txt
    

第三步:下载并运行gpt-oss模型

游戏需要gpt-oss语言模型来驱动AI的对话。你需要使用llama.cpp项目来在本地运行这个模型。

  1. 下载llama.cpp:你可以从llama.cpp的GitHub页面下载预编译好的二进制文件,或者根据官方文档自行编译。
  2. 下载gpt-oss模型文件:你需要从Hugging Face等模型社区下载gpt-oss的模型文件。对于这个游戏,推荐使用较小的gpt-oss-20b-GGUF模型。
    # 推荐使用的小模型
    MODEL=ggml-org/gpt-oss-20b-GGUF
    # 如果你的硬件性能足够强大,也可以尝试更大的模型
    # MODEL=ggml-org/gpt-oss-120b-GGUF
    
  3. 启动LLM服务器:使用llama-server命令来启动模型服务。这里需要特别注意的是,为了获得更好的实时语音交互体验,你需要将模型的“推理级别”设置为“低”(low)。由于llama-server本身不支持在API请求中直接传递这个参数,你需要使用项目仓库中提供的gpt-oss-template.jinja模板文件来设置。
    llama-server -hf $MODEL --verbose-prompt --chat-template-file gpt-oss-template.jinja --jinja --cache-reuse 128 -fa
    

    这个命令会启动一个本地的HTTP服务器,pipecat将通过这个服务器来调用gpt-oss模型。

第四步:设置前端界面

前端是玩家与游戏进行交互的界面。

  1. 进入client目录
    cd ../client
    
  2. 安装依赖
    npm i
    

第五步:运行游戏

现在,你可以同时启动后端和前端来开始游戏了。

  1. 运行后端pipecat机器人:回到server目录(并确保Python虚拟环境已激活),运行run.py脚本。
    cd ../server
    source venv/bin/activate
    python run.py
    
  2. 运行前端React应用:在client目录下,启动React开发服务器。
    cd ../client
    npm run dev
    

    启动后,浏览器会自动打开一个页面,你就可以开始对着麦克风说话,与飞船AI展开互动了。

应用场景

  1. 互动娱乐这个项目展示了如何将大型语言模型的能力与语音技术结合,创造出一种全新的互动娱乐形式。玩家不再是通过点击按钮或选择预设选项来玩游戏,而是通过自然的语言对话来影响游戏世界。这为未来的游戏设计,特别是叙事驱动型游戏,提供了新的思路。
  2. 教育和培训类似的游戏场景可以被应用到教育和培训领域。例如,可以设计一个模拟场景,让学生或员工在安全的环境中通过对话来学习如何处理复杂的紧急情况,比如模拟飞行员与塔台的对话,或者模拟医生与病人的沟通。
  3. 人机交互研究gpt-oss-space-game是一个极佳的研究平台,用于探索和改进人机语音交互的体验。开发者和研究人员可以利用这个开源项目,测试不同的语言模型、语音识别引擎和语音合成技术,从而推动相关技术的发展。
  4. AI应用原型开发对于想要开发自己AI应用的开发者来说,这个项目提供了一个完整的端到端的示例,展示了如何将一个强大的语言模型集成到一个实际的应用中,并解决了从前端到后端的各种技术细节。

QA

  1. 这个游戏对电脑配置要求高吗?要求相对较高,因为它需要在本地运行一个大型语言模型。根据官方介绍,运行gpt-oss-20b模型至少需要16GB的内存。如果你的电脑配置较低,可能会遇到运行缓慢或卡顿的问题。
  2. 我必须使用gpt-oss模型吗?不是必须的。这个项目的设计非常灵活,你可以修改代码,将后端的语言模型替换成其他的本地模型,或者直接调用云端的AI服务,比如OpenAI的API。
  3. 游戏支持中文吗?目前项目的默认配置是基于英文的,包括语音识别和语音合成。如果想支持中文,你需要自行替换相应的语音模块,并对gpt-oss模型进行中文能力的适配,这需要较强的技术能力。
  4. 我遇到了技术问题怎么办?由于这是一个开源的实验性项目,你可能会在安装和运行过程中遇到各种问题。最好的解决方法是访问项目的GitHub页面,查看"Issues"(问题)区域是否有其他人和你遇到了类似的问题,或者直接向项目作者提问。
微信微博Email复制链接