LLM 请求与流式响应

一个 Agent 项目里,LLM 客户端这一层看着只是”发请求、收回复”。但一次请求里到底发出去什么、收回来什么,是这一层所有代码的骨架——这件事没理清,后面每个函数都只能照着别人的代码抄。

所以先别急着分层,把一次往返从头走一遍。

阅读更多

Vue 解决 LLM 对话过长问题:使用 markstream

先看一张截图。

iArchi 在 X 上回答「LLM 聊天变成长会话怎么办」:版本答案是使用 markstream

之前见过这个vue如何解决LLM对话过长问题,那条回复说的是答案:

LLM 聊天很容易变成长会话。节点数量会持续膨胀。虚拟滚动,只渲染当前屏幕看到的内容。其它只占位。

—— 版本答案是 使用 markstream,此题应 @simon_he1995

「虚拟滚动」这四个字在列表场景里是老生常谈,但把它搬到 LLM 聊天里,有一个前提条件会被打破。这篇就把这两句话中间的推理补上,再说怎么落地。

用到的组件是 markstream-vue,文档在 markstream.simonhe.me。示例项目是一个能跑起来的最小聊天 Demo:Vue 3 + Vite,消息列表交给 MarkstreamVirtualTimeline,正文交给 MarkdownRender。

阅读更多