游戏非玩家角色 (NPC) 机器人#

本节介绍可用的示例机器人,展示了如何

  • 为游戏中的非玩家角色构建 LLM 驱动的自然语言理解 (NLU) 和自然语言生成 (NLG) 能力。

NVIDIA ACE Agent 版本中提供了两个示例 NPC 机器人。每个机器人都对应于游戏中一个独特的角色,具有独特的个性和背景故事。您可以在 samples/jin/plugin_config.yamlsamples/elara/plugin_config.yaml 文件中分别找到这两个角色的背景故事。如果需要,您可以根据您设计的角色更改此背景故事。此背景故事中由 {{ }} 表示的占位符在运行时由自定义插件模块填充。

按照 samples/npc_bots 的目录结构,了解如何在单个目录中组织多个机器人。这些机器人使用 NVIDIA API Catalog 的 nemotron-mini-4b-instruct 作为主要模型。

游戏 NPC 机器人展示了以下 ACE Agent 功能

  • 使用 ASR 2 pass End of Utterance (EOU) 的低延迟

  • 始终开启的 Barge-In 支持

  • 将 SLM 模型与机器人集成 每个角色的自定义 SLM 提示

  • 支持使用 事件架构 进行部署

基于 Docker 的机器人部署

NPC 示例机器人利用 NVIDIA API Catalog 中的 nemotron-mini-4b-instruct

  1. 设置 NVIDIA API Catalog 的 API 密钥。

    export NVIDIA_API_KEY=...
    
  2. 为 Docker compose 命令准备环境。

    export BOT_PATH=./samples/npc_bots/{bot_name}
    source deploy/docker/docker_init.sh
    
  3. 部署机器人所需的语音和 NLP 模型。首次部署可能需要 20-40 分钟。对于股票市场示例机器人,将部署 Riva ASR(自动语音识别)和 TTS(文本到语音)模型。

    docker compose -f deploy/docker/docker-compose.yml up model-utils-speech
    
  4. 部署 ACE Agent 微服务。部署聊天引擎、插件服务器和 NLP 服务器容器。

    docker compose -f deploy/docker/docker-compose.yml up speech-event-bot -d
    
  5. 使用 URL http://<工作站 IP>:7006/ 与机器人交互。

NPC bot sample conversation