top | item 45570753

(no title)

syx | 4 months ago

For those wondering about the use case, this is very useful when enabling streaming for structured output in LLM responses, such as JSON responses. For my local Raspberry Pi agent I needed something performant, I've been using streaming-json-js [1], but development appears to have been a bit dormant over the past year. I'll definitely take a look at your jsonriver and see how it compares!

[1] https://github.com/karminski/streaming-json-js

discuss

order

rokkamokka|4 months ago

For LLMs I recommend just doing NDJSON, that is, newline delimited json. It's much simpler to implement

rictic|4 months ago

Do any LLMs support constrained generation of newline delimited json? Or have you found that they're generally reliable enough that you don't need to do constrained sampling?

stevage|4 months ago

I love NDJSON in general. I use it a lot for spatial data processing (GDAL calls it GeoJsonSeq).

cjonas|4 months ago

Particularly for REACT style agents that use a "final" tool call to end the run.