Left / CodeBooga34B - Right / NousCapybara34B

I’ve been working on a Go framework with the intent of having all of the basic dependencies for LM workflows as a hobby project to learn the foundation and architecture supporting LLMs. This has allowed me to build basic pipelines and experiment freely. Lately, I have been testing running multiple LLMs, concurrently on the same host. This is possible due to the unified memory architecture on modern Apple hardware. I recently read that using the same model with different system prompts to simulate agents collaborating with each other is less than ideal since the model would tend to agree with itself given its the same dataset. At least this is the way I interpreted it. Today I was finally able to setup a pipeline to provision CodeBooga34B and NousCapybara34B on an M2 with 64GB of memory and to my surprise, it worked! The test was to have CodeBooga generate a simple Go program, and then have NousCapybara validate and enhance the output of CodeBooga. The code that was generated worked without edits on my behalf!

What other interesting pipelines, workflows or tests would be ideal? The framework uses goroutines and websockets and I should be able to essentially cycle the models in and out as needed. For example, while “model 2” is generating and validating the answer from “model 1”, we could be loading “model 3” in the background ready to receive the output from “model 2”, so on and so forth.

Thoughts about other interesting workflows?