实时

通过 WebSockets 流式传输响应

在生成响应时显示它们,以获得快速、实时的体验。无需等待完整响应。.

WebSocket 通道 实时状态事件 逐个 Token 已记录完成

可视化

流式传输旅程

WebSocket 会话发出部分内容、工具调用和最终消息。.

01

客户端连接

WebSocket 通道已建立

02

ModelRiver 流式传输

背压感知交付

03

Token 已流出

生成时部分响应

04

Tool calls (optional)

Function names + arguments

05

Final message

完成 + metrics

06

Logs + channel close

Request log captured, connection ends

通道示例
channel_id: "ws_9f2b..."
websocket_url: "wss://api.modelriver.com/ws"
status: "pending"
stream: true
events:
  - type: "tokens"
    data: "Once upon..."
  - type: "final"
    latency_ms: 1240
              
1

即时用户体验

在模型运行时渲染部分文本,让用户立即感受到进度。.

2

唯一事实来源

流式传输和最终结果都会在请求日志中进行跟踪,并带有 Token 和计时。.

3

感知重试

如果供应商在中途失败,故障转移将在健康的模型上继续响应。.

用户体验速度

<200ms

连接后第一个 Token 的典型时间。.

事件类型

Token · 状态

您可以直接传输到 UI 的进度。.

可观测性

完成后记录日志

捕获最终响应和指标。.

滚动流

01 · 连接

使用 channel_id 和身份验证打开 WebSocket。.

02 · 接收

在 Token 和状态事件到达时进行渲染。.

03 · 完成

在日志中捕获最终有效负载和指标。.

04 · 恢复

如果供应商失败,故障转移将继续流式传输。.

带有实时更新的事件驱动工作流

When using 事件驱动工作流, the WebSocket channel provides intermediate status updates. Your frontend receives status: "ai_generated" when the AI completes, then status: "completed" after 您的后端 processes and calls back. This keeps users informed throughout the entire workflow.

使用场景

  • 需要逐个 Token 更新的聊天 UI。.
  • Dashboards that monitor long-running tasks.
  • Any flow where perceived 延迟 matters.

独特之处

  • 相同的 channel_id 也会出现在请求日志中。.
  • 与结构化输出和 Webhook 完美协同。.
  • 如果在流式传输过程中出错,内置故障转移。.

程序化访问

Use the 异步 API + WebSocket for 实时流式传输

// 1. Backend: Start async request
POST https://api.modelriver.com/v1/ai/async
{
  "workflow": "chat-assistant",
  "messages": [...]
}
// Returns: { channel_id, ws_token, websocket_url }

// 2. Frontend: Connect via SDK
import { ModelRiverClient } from '@modelriver/client';

const client = new ModelRiverClient({
  baseUrl: 'wss://api.modelriver.com/socket'
});

client.on('response', (data) => {
  console.log('AI Response:', data.data);
});

client.connect({ wsToken: ws_token });

后端调用异步 API,前端通过 SDK 连接 WebSocket。内置自动重连和故障转移。.

实时取悦用户

将流式传输与结构化输出和 Webhook 相结合,实现可靠、可验证的完成。.