Skip to content

一种跨进程异步流推送与消费的实现方案 ​

前置知识
  • RPC机制

一、背景 ​

在一个AI Chat系统的开发当中,流式响应的实现是一个无法逃避的问题,它能让用户实时看到AI的回答,而不是等AI回答完之后再一次性展示给用户。这一回,我们来探讨一种跨进程(Browser-Node)异步流推送与消费的实现方式。

二、架构 ​

设想下我们从头设计一个AI System,它要适配多种不同的语言模型供应商,管理多种语言模型。为了安全性,功能实现上真正的LanguageModel的管理只能够放在Node侧,而Browser侧只需要管理这些LanguageModel的代理。那么就产生了这样的交互线:

  • Browser侧通过选择指定的LanguageModel代理发起请求,经过RPC将请求发送到Node侧获取真正的LanguageModel进行LLM请求处理。
  • 在Node侧通过RPC将响应发送到Browser侧并消费该响应。

基本示意图如下: