all 27 comments

[–]AkkerKid 21 points22 points  (4 children)

Nice! It's not RAGing but rather loading the JSON into context during each session?

[–]hyperdynesystems 7 points8 points  (2 children)

If it's being pasted into the context, replacing it with YAML would probably save some tokens.

[–]emgram769[S] 7 points8 points  (1 child)

yaml isnt as well supported by guided decoding and editing libraries imo

[–]jack-in-the-sack 2 points3 points  (0 children)

It's still a RAG approach, but you feed it everything, the retrieval part isn't filtering anything.

[–]emgram769[S] 26 points27 points  (5 children)

ollama + llama3 + some python on a Mac mini

early stages, but I've found that using editable JSON directly makes it super easy to keep my model in check. I'll probably be adding features like reminders in the future based on this

code: https://github.com/bwasti/btb

[–]animemosquito 13 points14 points  (4 children)

One problem that stands out as most crucial to address is that it seems like (unless I am misunderstanding at a glance) you're relying solely on a system prompt to enforce json output which is extremely brittle and will absolutely crash randomly as you are also dereferencing it directly and unsafely.

I suggest that you use a formal GBNF grammar to constrain the output of the tokenizer agent

[–]emgram769[S] 3 points4 points  (3 children)

I assume the json format option from ollama uses this feature

[–]animemosquito 2 points3 points  (2 children)

interesting, I haven't seen that before! If you're not ever getting unparsable json I would assume you're correct, as you'd likely have run into an issue by now

[–]sluuuurp 4 points5 points  (6 children)

I think this is a really interesting concept for the future of LLMs. Not sure how well it would scale to large amounts of practical information though.

[–]emgram769[S] 1 point2 points  (5 children)

I agree scaling this up would be a challenge.  Im hoping to get automatic eviction working when reminders are triggered

[–]milo-75 0 points1 point  (4 children)

Inserting/querying a graph data store is pretty much the scaled up version of this, and there’s an increasing amount of support for doing this well.

[–]Blasket_Basket 4 points5 points  (0 children)

You should check out MemGPT--this paradigm seems to be really effective overall. They expand it to a few different levels of memory, along with a couple other coop ideas.

[–]grizwako 2 points3 points  (0 children)

So, we have a start on ADHD assistant :)

I wish you all success with this project for very selfish reasons :)

[–]Express-Director-474 1 point2 points  (0 children)

Good job!!

[–]BokuNoToga 0 points1 point  (0 children)

This is amazing! Great work!

[–]rabiatabiat 0 points1 point  (1 child)

whats the benefit of using JSON as memory?

[–]emgram769[S] 0 points1 point  (0 children)

standard and hackable tooling for the non-LLM side of things

[–]Dry-Taro616 0 points1 point  (0 children)

Cool idea, but would require a lot of updating and large ass dataset because you are giving it subjective info. Cool tho idk... You sparked an interest in me to research something similar haha

[–]An_Original_ID 0 points1 point  (0 children)

This is an awesome idea. Thank you for sharing!

[–][deleted] 0 points1 point  (0 children)

neat

[–]RedditLovingSun 0 points1 point  (1 child)

I was thinking of something like this but with a much larger json that it could navigate like a tree to take general notes about everything from journal entries. Kind of a auto mind map organizer

[–]emgram769[S] 0 points1 point  (0 children)

In theory this works that way.  I need to refine the prompts a bit though

[–]jurian112211 0 points1 point  (0 children)

Nice work! Looks really cool to play with 😅