For this 'graph of thoughts' approach, it is a bit different version of the paper. It is being used to autonomously improve an ML program.
It starts with a basic sklearn dataset and code and then we ask GTP4 to improve its r2_score. The starting point was the following code, base.py in the repo.
data.pkl is the california housing dataset, stored as 'data.pkl' so as not to clue GPT4 in as to what the optimal alg should be from its training data.
Note: these insights are generated by GPT4, see the source files. They get extracted and fed to each prompt as they're discovered -> only the last row on the list had all of the insights minus one in the prompt.
There are a lot of optimisations that you can do here, limited only by your imagination (and the 8k/32k context window). Some ideas are in the paper linked to above, some you'll find on various places where this concept is discussed. Basic ideas include: dupe checks, pruning, backtracking and monte carlo.
Some basic insight tracking was added as per above, which wasn't exactly in the tree of thoughts paper. This also isn't strictly graph like, as the insights carry globaly. GPT4 tokens do start to add up after awhile.