Riva Contact
目录

Riva Contact#
此 Riva Contact Center 视频会议示例应用程序是一个基于 Web 的演示,用于联络中心应用程序,它将点对点视频聊天与流式自动语音识别 (ASR) 和自然语言处理 (NLP) 相结合。它是一个轻量级的 Node.js
应用程序,由 NVIDIA Riva 语音服务提供支持。
用户可以使用基于 WebRTC 的直接点对点视频连接进行聊天。在后台,每个用户的 Web 客户端都会向 Riva Contact 服务器发送单独的音频流。服务器对托管的 Riva AI 服务进行流式 gRPC 调用,该服务返回持续的 ASR 转录流。此转录流被传递回说话者的 Web 客户端,后者可以看到正在进行的结果如何随着他们的讲话而变化。
当 ASR 结果被标记为“最终”(基于 ASR 服务的句子结尾检测设置,通常在语音中的短暂暂停后),服务器会将生成的转录本交给 NLP 服务进行命名实体识别 (NER)。如果 Riva 配置为使用通用领域 NER 模型,则该服务会识别诸如人、地点或组织名称之类的实体。Riva 也可以与 NeMo 为特定领域微调的 NER 模型一起部署。在这种情况下,在生物医学或临床语言上调整的模型可能会识别出诸如问题、测试或治疗之类的实体。
NER 结果完成后,Riva Contact 服务器会将最终的转录本及其 NER 注释返回给 Web 客户端,Web 客户端与其他用户交换转录本,以获得持续的、带注释的对话转录本。
此示例应用程序为您的自定义开发提供了一个启动平台。例如,有许多可能的应用程序可以使用转录本和标记实体进行下游分析和可视化。
要求和设置#
要求#
Riva Contact 是一个
Node.js
应用程序,旨在在 Linux 环境中运行。您将需要npm
来安装该应用程序。该应用程序需要 Riva 语音服务与两个主要模型一起运行
流式 ASR
命名实体识别 (NER)
您可以使用 快速入门 配置中提供的默认 Riva 模型,或者您可以部署使用 NVIDIA TAO Toolkit 训练并导入 Riva 的自定义模型。Riva Contact 预配置为使用 Riva 快速入门指南 中的模型。
安装应用程序#
克隆 Riva 示例应用程序仓库 - https://github.com/nvidia-riva/samples
git clone https://github.com/nvidia-riva/sample-apps.git
进入 Riva 和 Rasa 虚拟助手目录
cd sample-apps/riva-contact
安装软件包
npm install
Riva Contact 使用环境变量来管理其配置参数。这些参数保存在配置文件 env.txt 中,您需要在其中设置正在运行的 Riva AI 服务的 URL。如果已在 Riva 中部署了自己的自定义模型,您可能还需要更改应用程序的端口或 NER 模型的名称。
(可选)根据您的服务器环境,您可能还需要在服务器上打开两个端口(默认情况下,端口 8009 和 9000)。这些端口用于 Web 应用程序的主要入口点,以及用于帮助协商点对点聊天连接的 PeerJS 服务器。如果适用,您可能还需要为路由器中的这些端口设置端口转发。
使用服务#
在装有网络摄像头和麦克风的计算机上,在浏览器(Chrome 或 Firefox 效果良好)中加载 URL。为了获得最佳 ASR 结果,建议使用耳机。
例如,如果您从本地网络中的计算机访问该服务,并且该服务托管在 IP 为 192.168.2.10 的机器上,则 URL 将为 https://192.168.2.10:8009/。
该应用程序包含一个用于演示目的的自签名证书,这可能会导致浏览器指示安全警告。您可以在
riva-contact/certificates
中查看该证书。要消除此警告,您可以生成自己的证书或从受信任的签名机构购买一个证书。您可以“接受风险”并继续。当被询问时,请授予网站访问您的网络摄像头和麦克风的权限。页面加载后,欢迎您开始 Riva 转录,而无需进行视频通话。
在标题为“Riva transcription”的框中,点击 Start 按钮,然后开始讲话。您将在底部的文本字段中看到正在进行的转录。当这些转录完成时,它们将与 NLP 注释一起出现在转录框中。要直接测试 NLP(无需讲话),只需在底部的文本字段中键入内容,然后点击 Submit。
要呼叫某人,您需要他们的 ID。您的 ID 是“Connection”框中的 4 位数字。它是随机的,并且每次重新加载页面时都会更改。输入您要呼叫的人员的 ID,然后单击 Call。他们将收到来电通知,并被要求接受。连接后,Riva 转录将自动开始(如果尚未运行)。
每个说话者的转录本都标有用户的 ID,或者如果在“Connection”框中设置了显示名称,则标有显示名称。
要结束通话,只需单击 End 按钮。
许可证#
NVIDIA Riva 许可协议 随产品一起提供。许可证也可与模型应用程序 zip 文件一起提供。通过拉取和使用 Riva SDK 容器、下载模型或使用此处的示例应用程序,您接受这些许可证的条款和条件。