Comment by holdenc137
Comment by holdenc137 8 hours ago
I don't get it (and I'd call this cumulative not incremental)
Why not at least wait until the key is complete - what's the use in a partial key?
Comment by holdenc137 8 hours ago
I don't get it (and I'd call this cumulative not incremental)
Why not at least wait until the key is complete - what's the use in a partial key?
If you're building a UI that renders output from a streaming LLM you might get back something which looks like this:
{"role": "assistant", "text": "Here's that Python code you aske
Incomplete parsing with incomplete strings is still useful in order to render that to your end user while it's still streaming in.If any part of that value actually made it, unchecked, to execution, then you have bigger problems than partial JSON keys/values.
I imagine if you reason about incomplete strings as a sort of “unparsed data” where you might store or transport or render it raw (like a string version of printing response.data instead of response.json()), but not act on it (compare, concat, etc), it’s a reasonably safe model?
I’m imagining it in my mental model as being typed “unknown”. Anything that prevents accidental use as if it were a whole string… I imagine a more complex type with an “isComplete” flag of sorts would be more powerful but a bit of a blunderbuss.
Doesn't it do exactly that?
> As a consequence of 1 and 5, we only add a property to an object once we have the entire key and enough of the value to know that value's type.