一种跨进程异步流推送与消费的实现方案
前置知识
- RPC机制
一、背景
在一个AI Chat系统的开发当中,流式响应的实现是一个无法逃避的问题,它能让用户实时看到AI的回答,而不是等AI回答完之后再一次性展示给用户。这一回,我们来探讨一种跨进程(Browser-Node)异步流推送与消费的实现方式。
二、架构
设想下我们从头设计一个AI System,它要适配多种不同的语言模型供应商,管理多种语言模型。为了安全性,功能实现上真正的LanguageModel的管理只能够放在Node侧,而Browser侧只需要管理这些LanguageModel的代理。那么就产生了这样的交互线:
Browser侧通过选择指定的LanguageModel代理发起请求,经过RPC将请求发送到Node侧获取真正的LanguageModel进行LLM请求处理。- 在
Node侧通过RPC将响应发送到Browser侧并消费该响应。
基本示意图如下: