Replies: 3 comments 1 reply
|
A few things food for thought:
|
These two lines will probably arrive as a list of response (content) SSE-events from the LLM. E.g Optimally we would like to process this so that each event recieved (except for the To do that, we probably need to introduce some buffering since we cannot decide from the first token (
|
|
@jorander @arnabnandy7 Thanks for continuing the discussion. Aggregator abstraction to include rules:
Once regexp-start is detected: As such, the user may receive a callback on reasoning-start-tag with the following text, without a reasoning-end-tag. Streaming indeed sends mini-tokens, so That is one of the reasons for having an out-of-the-box standardized NL-delimiter buffering mechanism. It does not cover all scenarios, but practically most. Aggregator is an add-on to the framework; the framework continues "as-is", and aggregator adds parallel, extensible callbacks. |
Uh oh!
There was an error while loading. Please reload this page.
In streaming mode, getting results as soon as they arrive is paramount.
However, there is also a practical need to massage data before responding to the user.
Example:
line:
<think> abc...line: ```xyz
Ideally, the user would be interested in getting an aggregated cross-line response, such as "abc...xyz".
An aggregator can be used as an additional streaming callback in parallel to getting low-level chunks of data.
@jorander @arnabnandy7 - FYI
All reactions